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 ++文档 |