The real-time extension of POSIX signals (POSIX_REALTIME_SIGNALS) provides functions to send and receive queued signals. In the basic POSIX signals implementation, a particular signal is only received once by a process. Multiple occurrences of a pending signal are ignored. The real-time signals API allows multiple occurences of a signal to remain pending. POSIX real-time signals include a value that is allocated to the receiver of the signal upon reception by sigwaitinfo() or sigtimedwait(). Signals are then handled according to the value allocated to the receiver. As a consequence, the number of signals sent always corresponds to the number of signals received. This behavior is reserved for specific signals included in a special range.
The POSIX real-time signals API is summarized in the following table:
Function |
Description |
---|---|
sigqueue() |
Queue a signal to a process |
sigwaitinfo() |
Accept a signal and get info |
sigtimedwait() |
Accept a signal, wait for bounded time |