sig_atomic_t
来自 cppreference.com
在头文件 <signal.h> 中定义 |
||
typedef /* 未指定 */ sig_atomic_t; |
||
一种整数类型,即使在信号引起异步中断的情况下,也可以作为一个原子实体访问。
[编辑] 示例
运行此代码
#include <signal.h> #include <stdio.h> volatile sig_atomic_t gSignalStatus = 0; void signal_handler(int status) { gSignalStatus = status; } 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
[编辑] 参考文献
- C17 标准 (ISO/IEC 9899:2018)
- 7.14/2 信号处理 <signal.h> (p: 194-195)
- C11 标准 (ISO/IEC 9899:2011)
- 7.14/2 信号处理 <signal.h> (p: 265)
- C99 标准 (ISO/IEC 9899:1999)
- 7.14/2 信号处理 <signal.h> (p: 246)
- C89/C90 标准 (ISO/IEC 9899:1990)
- 4.7 信号处理 <signal.h>
[编辑] 另请参阅
为特定信号设置信号处理程序 (函数) | |
C++ 文档 for sig_atomic_t
|