Signals
A ``signal''
is an asynchronous notification of an event, and
is said to be ``generated for'' (or ``sent to'') a process when the event that causes the signal first occurs.
A signal may be sent to a process by another process,
from the terminal or by the system itself.
A signal can be generated several ways, including:
-
An error during a system call.
-
Some condition raised at the controlling-terminal of a process (such as break or hangup).
-
An explicit system call to kill(2),
sigsend(2),
or
raise(3C).
-
Expiration of the alarm clock timer or the generation of the trap signal during process tracing.
Signals are the most frequently used means to notify a process of the occurrence of some event that may have an impact on that process.
In some circumstances, the same event generates signals for multiple processes.
sigaction(2)).
All signals have the same
``priority''.
If multiple signals
are pending simultaneously, the order in which they are delivered
to a process is implementation-specific.
Multithreading brings additional complexity and additional capabilities
to signal management.
Signal semantics for multithreaded applications
are described in
``Threads''.
This also describes the recommended paradigm
for signal management in multithreaded programs.
Next topic:
Signal types
Previous topic:
Signals, job control and pipes
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 27 April 2004