sig_atomic_t
From 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 handling <signal.h> (p: 194-195)
- C11標準 (ISO/IEC 9899:2011)
- 7.14/2 Signal handling <signal.h> (p: 265)
- C99標準 (ISO/IEC 9899:1999)
- 7.14/2 Signal handling <signal.h> (p: 246)
- C89/C90標準 (ISO/IEC 9899:1990)
- 4.7 シグナル処理 <signal.h>
[編集] 関連項目
| 特定のシグナルに対するシグナルハンドラを設定する (関数) | |
| C++ ドキュメント sig_atomic_t
| |