名稱空間
變體
操作

sig_atomic_t

來自 cppreference.com
< c‎ | 程式
定義於標頭檔案 <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