next up previous contents
Next: pipes and FIFOs Up: Interprocess Communication Previous: UNIX and POSIX 1003.1a   Contents

POSIX 1003.1c signals

From the description above, we have seen that the POSIX 1003.1a signals are a rather complicated business (in UNIX jargon this is called flexibility). The POSIX 1003.1c extensions to the signal mechanism introduces even more flexibility. POSIX 1003.1c really defines an entirely new set of signals, which can peacefully co-exist with the old signals of POSIX 003.1a1. The historical name kill() is replaced by the more expressive sigqueue().

The main improvements are:
- a far larger number of user-definable signals.
- signals can be queued; old untreated signals are therefore not lost.
- signals are delivered in a fixed order.
- the signal carries an additional integer, which can be used to transmit more information than just the signal number.

POSIX 1003.1c signals can be sent automatically as a result of timer expiration, arrival of a message on an empty queue, or by the completion of an asynchronous I/O operation. Unfortunately, the POSIX 1003.1c signals may not be part of Linux, so we will not dwell on them any further.


next up previous contents
Next: pipes and FIFOs Up: Interprocess Communication Previous: UNIX and POSIX 1003.1a   Contents
Catharinus Verkerk 2001-12-17