Литмир - Электронная Библиотека
A
A

В поле

si_signo
хранится номер сигнала. Поле
si_code
имеет следующий смысл: если его значение меньше или равно нулю, значит сигнал был отправлен прикладным процессом, в этом случае структура
siginfo_t
содержит также следующие поля:

pid_t si_pid
Идентификатор процесса PID
uid_t si_uid
Идентификатор пользователя UID

которые адресуют процесс, пославший сигнал; если значение

si_code
больше нуля, то оно указывает на причину отправления сигнала. Список возможных значений
si_code
для некоторых сигналов, соответствующих полю
si_signo
, приведен в табл. 2.19

Таблица 2.19. Значения поля si_code структуры siginfo_t для некоторых сигналов

Значение поля
si_signo
Значение поля
si_code
Описание
SIGILL
Попытка выполнения недопустимой инструкции
ILL_ILLOPC
Недопустимый код операции (opcode)
ILL_ILLOPN
Недопустимый операнд
ILL_ADR
Недопустимый режим адресации
ILL_ILLTRP
Недопустимая ловушка (trap)
ILL_PRVOPC
Привилегированный код операции
ILL_PRVREG
Привилегированный регистр
ILL_COPROC
Ошибка сопроцессора
ILL_BADSTK
Ошибка внутреннего стека
SIGFPE
Особая ситуация операции с плавающей точкой
FPE_INTDIV
Целочисленное деление на ноль
FPE_INTOVF
Целочисленное переполнение
FPE_FLTDIV
Деление на ноль с плавающей точкой
FPE_FLTOVF
Переполнение с плавающей точкой
FPE_FLTUND
Потеря точности с плавающей точкой (underflow)
FPE_FLTRES
Неоднозначный результат операции с плавающей точкой
FPE_FLTINV
Недопустимая операция с плавающей точкой
FPE_FLTSUB
Индекс вне диапазона
SIGSEGV
Нарушение сегментации
SEGV_MAPPER
Адрес не отображается на объект
SEGV_ACCERR
Недостаточно прав на отображаемый объект
SIGBUS
Ошибка адресации
BUS_ADRALN
Недопустимое выравнивание адреса
BUS_ADRERR
Несуществующий физический адрес
BUS_OBJERR
Аппаратная ошибка, связанная с объектом
SIGTRAP
Ловушка
TRAP_BRKPT
Процессом достигнута точка останова
TRAP_TRACE
Ловушка трассирования процесса
SIGCHLD
Завершение выполнения дочернего процесса
CLD_EXITED
Дочерний процесс завершил выполнение
CLD_KILLED
Дочерний процесс был "убит"
CLD_DUMPED
Ненормальное завершение дочернего процесса
CLD_TRAPPED
Трассируемый дочерний процесс находится в ловушке
CLD_STOPPED
Выполнение дочернего процесса было остановлено
CLD_CONTINUED
Выполнение остановленного дочернего процесса было продолжено
SIGPOLL
Событие на опрашиваемом устройстве
POLL_IN
Поступили данные для ввода
POLL_OUT
Свободны буферы данных
POLL_MSG
Сообщение ожидает ввода
POLL_ERR
Ошибка ввода/вывода
POLL_PRI
Высокоприоритетные данные ожидают ввода
POLL_HUP
Устройство отключено
54
{"b":"272553","o":1}