Interested Article - SIGPOLL

В POSIX -системах SIGPOLL сигнал , посылаемый процессу для информирования об изменении состояния выполняющегося в фоне асинхронного ввода-вывода.

SIGPOLL — целочисленная константа, определенная в заголовочном файле signal.h . Символьные имена сигналов используются вместо номеров, так как в разных реализациях номера сигналов могут различаться.

Сигнал SIGIO в Linux является синонимом SIGPOLL .

Этимология

SIG — общий префикс сигналов (от англ. signal ), POLL — сокращенное написание англ. polling — опрос, в контексте системного вызова poll , IO — сокращение англ. I/O (input-output) — ввод-вывод.

Использование

Согласно POSIX, SIGPOLL — сигнал по умолчанию, посылаемый при изменении состояния открытого файла (например, готовности к вводу или выводу), для которого системным вызовом ioctl был установлен флаг I_SETSIG. Используя этот механизм, программа может осуществлять асинхронный ввод-вывод без необходимости дополнительного мультиплексирования, которое необходимо при использовании функции select() . Возможным минусом данного метода является потеря непрерывности в коде программы и превращения его в нечитабельное «спагетти» , с потенциальной возможностью возникновения ошибок типа race condition .

POSIX 1003.1 ( 2003 год ) рекомендует использование стандартизированных системных вызовов для асинхронного ввода-вывода, определяемых заголовочным файлом aio.h . Всем запросы на ввод-вывод с использованием этих функций ставятся в очередь для асинхронного выполнения, их результаты и состояние могут быть получены через функции aio_return() и aio_error() .

Источник —

Same as SIGPOLL