SIG_DFL, SIG_IGN
Определено в заголовке <signal.h> | ||
|---|---|---|
#define SIG_DFL /*implementation defined*/ | ||
#define SIG_IGN /*implementation defined*/ |
Макросы SIG_DFL и SIG_IGN расширяются до целочисленных выражений, которые не равны адресу любой функции. Макросы определяют стратегии обработки сигналов для функции signal().
| Константа | Объяснение |
|---|---|
SIG_DFL | обработка сигнала по умолчанию |
SIG_IGN | сигнал игнорируется |
Пример
#include <signal.h>
#include <stdio.h>
int main(void)
{
/* using the default signal handler */
raise(SIGTERM);
printf("Exit main()\n"); /* never reached */
}Вывод:
(none)
Пример
#include <signal.h>
#include <stdio.h>
int main(void)
{
/* ignoring the signal */
signal(SIGTERM, SIG_IGN);
raise(SIGTERM);
printf("Exit main()\n");
}Вывод:
Exit main()
Ссылки
- Стандарт C17 (ISO/IEC 9899:2018):
- 7.14/3 Обработка сигналов <signal.h> (с. 193)
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.14/3 Обработка сигналов <signal.h> (с. 265)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.14/3 Обработка сигналов <signal.h> (с. 246)
- Стандарт C89/C90 (ISO/IEC 9899:1990):
- 4.7 ОБРАБОТКА СИГНАЛОВ <signal.h>
См. также
Документация C++ для SIG_DFL, SIG_IGN |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/program/SIG_strategies