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
|