January 2004
Intermediate to advanced
432 pages
11h 1m
English
Signals are the software equivalent of a hardware trap or interrupt. They are a way of informing a process or thread that an event has occurred. Just like their hardware counterparts, signals can be caused either by the instruction being executed or by an external event.
A signal that is caused by the current instruction is a synchronous signal. Examples are floating-point exceptions and memory faults. Another way to think of a synchronous signal is as a signal that a thread causes to be sent to itself.
A signal that is caused by an eternal event is an asynchronous signal. These are signals that originate outside the current thread—for example, a signal due to data being ready from a terminal, or another thread using the ...