Интернет магазин китайских планшетных компьютеров



Компьютеры - Сигналы (UNIX) - SA_SIGINFO

24 мая 2011


Оглавление:
1. Сигналы (UNIX)
2. Посылка сигналов
3. Классификация сигналов
4. SA_SIGINFO



Обычно обработчик сигнала получает только один аргумент — номер сигнала. Если при задании обработчика сигнала) указать опцию SA_SIGINFO, то в обработчик будут переданы ещё два аргумента:

  1. указатель на структуру siginfo_t, включающую:
    • битовую маску дополнительных «кодов сигнала», определяющих причину его возникновения;
    • идентификатор процесса, пославшего сигнал;
    • эффективный идентификатор пользователя, от имени которого выполняется процесс, пославший сигнал;
    • адрес инструкции, в которой возникло исключение;
    • и т. п.
  2. указатель на «машинный контекст» на момент возникновения сигнала.

Большинство дополнительных кодов специфичны для каждого сигнала. Коды, общие для всех сигналов:

Код Описание
SI_USER Сигнал послан функцией kill
SI_QUEUE Сигнал послан функцией sigqueue
SI_TIMER Сигнал послан по истечении времени, установленного функцией timer_settime
SI_ASYNCIO Сигнал послан по завершении запроса на «асинхронный ввод-вывод»
SI_MESGQ Сигнал послан по появлению сообщения в пустой «очереди сообщений Unix»


Просмотров: 3428


<<< Командная оболочка UNIX
SCO OpenServer >>>