在线文档教程

sig_atomic_t

sig_atomic_t

在头文件中定义
typedef / * unspecified * / sig_atomic_t;

即使存在由信号产生的异步中断,也可以作为原子实体访问的整数类型。

#include <signal.h> #include <stdio.h> volatile sig_atomic_t gSignalStatus = 0; void signal_handler(int signal) { gSignalStatus = signal; } int main(void) { /* Install a signal handler. */ signal(SIGINT, signal_handler printf("SignalValue: %d\n", gSignalStatus printf("Sending signal %d\n", SIGINT raise(SIGINT printf("SignalValue: %d\n", gSignalStatus }

可能的输出:

SignalValue: 0 Sending signal 2 SignalValue: 2

参考

  • C11标准(ISO / IEC 9899:2011):

扩展内容

信号设置特定信号的信号处理程序(功能)

| sig_atomic_t 的C ++文档 |