sig_atomic_t
Определено в заголовочном файле <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)
{
/* 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> (с. 194-195)
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.14/2 Обработка сигналов <signal.h> (с. 265)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.14/2 Обработка сигналов <signal.h> (с. 246)
- Стандарт C89/C90 (ISO/IEC 9899:1990):
- 4.7 ОБРАБОТКА СИГНАЛОВ <signal.h>
См. также
| устанавливает обработчик сигналов для определенного сигнала (функция) |
|
Документация C++ для sig_atomic_t |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/program/sig_atomic_t