Троан Эрик В.
Шрифт:
12.7.1. Получение контекста сигнала
Информация о том, как и почему был сгенерирован сигнал, называется контекстом [68] сигнала. Приложения, которые должны видеть этот контекст, используют обработчики сигналов, отличающиеся от нормальных. Они включают два дополнительных параметра — указатель на
68
До появления стандарта POSIX приложение могло обращаться к
69
Этот третий параметр на самом деле указывает на структуру
Приложение должно указать ядру на необходимость передачи полной информации о контексте, устанавливая флаг
Использование представленной комбинации объединений и макросов позволяет этим двум членам разделять одну и ту же память без необходимости усложнения с точки зрения приложений.
Структура
70
Существует гораздо больше значений
Приложение пространства пользователя вызвало
Приложение пространства пользователя вызвало
Приложение пространства пользователя вызвало
Если вам нужно проверить
Сигнал сгенерирован ядром.
Когда
71
Он также принимает специальное значение
Таблица 12.3. Значения
Сигнал | si_code | Описание |
---|---|---|
SIGILL | ILL_ILLOPC | Неправильный код операции (opcode). |
ILL_ILLOPC | Неправильный операнд. | |
ILL_ILLOPC | Неправильный режим адресации. | |
ILL_ILLOPC | Неправильная ловушка (trap). | |
ILL_ILLOPC | Привилегированный код операции. | |
ILL_ILLOPC | Привилегированный регистр. | |
ILL_ILLOPC | Внутренняя ошибка стека. | |
ILL_ILLOPC | Ошибка сопроцессора. | |
SIGFPE | FPE_INTDIV | Деление целого на ноль. |
FPE_INTOVF | Переполнение целого. |