SIG_ERR
Определено в заголовке <signal.h> | ||
|---|---|---|
#define SIG_ERR /* implementation defined */ |
Значение типа void (*)(int). При возвращении из signal, указывает на ошибку.
Пример
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
void signal_handler(int sig)
{
printf("Received signal: %d\n", sig);
}
int main(void)
{
/* Install a signal handler. */
if (signal(SIGTERM, signal_handler) == SIG_ERR)
{
printf("Error while installing a signal handler.\n");
exit(EXIT_FAILURE);
}
printf("Sending signal: %d\n", SIGTERM);
if (raise(SIGTERM) != 0)
{
printf("Error while raising the SIGTERM signal.\n");
exit(EXIT_FAILURE);
}
printf("Exit main()\n");
return EXIT_SUCCESS;
}Вывод:
Sending signal: 15 Received signal: 15 Exit main()
Ссылки
- Стандарт C17 (ISO/IEC 9899:2018):
- 7.14/3 Обработка сигналов <signal.h> (с. 194)
- Стандарт 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_ERR |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/program/SIG_ERR