SIGPOLL
From Wikipedia, the free encyclopedia
Description: | Pollable event (Sys V); synonym of SIGIO |
---|---|
Default action: | Abnormal termination of the process |
SA_SIGINFO macros | |
POLL_IN |
Data input available |
POLL_OUT |
Output buffers available |
POLL_MSG |
Input message available |
POLL_ERR |
I/O error |
POLL_PRI |
High priority input available |
POLL_HUP |
Device disconnected |
On POSIX-compliant platforms, SIGPOLL is the signal thrown by computer programs when a user wishes to interrupt the process. The symbolic constant for SIGPOLL is defined in the header file signal.h
. Symbolic signal names are used because signal numbers can vary across platforms.
On Linux, SIGIO is a synonym for SIGPOLL.
[edit] Etymology
SIG is a common prefix for signal names. POLL refers to polling, in the context of the poll
system call. IO stands for input/output.
[edit] Usage
As specified by POSIX, when the F_SETSIG
operation is performed on a file descriptor with the fcntl
system call, the kernel is instructed to signal the calling process when a pollable event (i.e. one which would interrupt the poll
system call) occurs on the file descriptor; for example when input or output becomes possible. The signal sent may be user-specified, but defaults to SIGPOLL. By employing this mechanism, the user may accomplish true asynchronous I/O without the conceptual overhead of a multiplexing select
loop. A possible disadvantage is that the technique lends itself to producing spaghetti code, with race conditions a danger.
From POSIX 1003.1 (2003), it is preferred to use the standardised system calls for asynchronous I/O defined in aio.h
. These allow requests to be queued for asynchronous execution; return and error status can be retrieved with the aio_return
and aio_error
functions, respectively.
POSIX Signals |
SIGABRT | SIGALRM | SIGFPE | SIGHUP | SIGILL | SIGINT | SIGKILL | SIGPIPE | SIGQUIT | SIGSEGV | SIGTERM | SIGUSR1 | SIGUSR2 | SIGCHLD | SIGCONT | SIGSTOP | SIGTSTP | SIGTTIN | SIGTTOU | SIGBUS | SIGPOLL | SIGPROF | SIGSYS | SIGTRAP | SIGURG | SIGVTALRM | SIGXCPU | SIGXFSZ | Realtime Signals are user definable—SIGRTMIN+n through SIGRTMAX. |
Common non-POSIX signals and synonyms |
SIGIOT | SIGEMT | SIGSTKFLT | SIGIO | SIGCLD | SIGINFO | SIGPWR (SIGINFO) | SIGLOST | SIGWINCH | SIGUNUSED |