Windows Signal용 보충 자료
Source: Dev.to
Signal
인터럽트 신호 처리를 설정합니다.
Syntax
void __cdecl *signal(int sig, int (*func)(int, int));
Parameters
sig– 신호 값.func– 실행될 함수에 대한 포인터. 함수의 첫 번째 매개변수는 신호 값이며, 두 번째 매개변수는 첫 번째 매개변수가SIGFPE일 때 사용할 수 있는 서브코드입니다.
Remarks
signal 함수는 프로세스가 운영 체제에서 발생하는 인터럽트 신호를 처리하는 여러 방법 중 하나를 선택하도록 합니다. sig 인자는 signal이 응답할 인터럽트를 지정하며, 다음과 같은 매크로 상수 중 하나여야 합니다. 이 상수들은 SIGNAL.H에 정의되어 있습니다.
| sig value | Description |
|---|---|
SIGABRT | 비정상 종료 |
SIGFPE | 부동소수점 오류 |
SIGILL | 불법 명령어 |
SIGINT | CTRL+C 신호 |
SIGSEGV | 불법 메모리 접근 |
SIGTERM | 종료 요청 |
sig가 위 값 중 하나가 아니면 Parameter validation에 정의된 대로 잘못된 매개변수 핸들러가 호출됩니다. 실행이 계속 허용될 경우, 이 함수는 errno를 EINVAL으로 설정하고 SIG_ERR를 반환합니다.
기본적으로 signal은 sig 값에 관계없이 종료 코드 3으로 호출 프로그램을 종료합니다.