sig_atomic_t
在头文件<signal.h>中定义 | | |
---|---|---|
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):
- 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>
扩展内容
信号 | 设置特定信号的信号处理程序(功能) |
---|
| sig_atomic_t 的C ++文档 |
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com