sig_atomic_t
From cppreference.net
|
定义于头文件
<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) { /* 安装信号处理程序 */ 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> (页码: 194-195)
- C11 标准 (ISO/IEC 9899:2011):
-
- 7.14/2 信号处理 <signal.h> (页: 265)
- C99标准(ISO/IEC 9899:1999):
-
- 7.14/2 信号处理 <signal.h> (页: 246)
- C89/C90 标准 (ISO/IEC 9899:1990):
-
- 4.7 信号处理 <signal.h>
参见
|
为特定信号设置信号处理程序
(函数) |
|
|
C++ 文档
关于
sig_atomic_t
|
|