Namespaces
Variants

sig_atomic_t

From cppreference.net
헤더 파일에 정의됨 <signal.h>
typedef /* unspecified */ 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> (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 HANDLING <signal.h>

참고 항목

특정 신호에 대한 신호 핸들러를 설정합니다
(함수)
C++ documentation for sig_atomic_t