A signal is an event that interrupts the normal flow of control in your program. Your operating environment normally defines the full set of signals available (see `sys/signal.h'), as well as the default means of dealing with them--typically, either printing an error message and aborting your program, or ignoring the signal.
All systems support at least the following signals:
Two functions are available for dealing with asynchronous signals--one to allow your program to send signals to itself (this is called raising a signal), and one to specify subroutines (called handlers to handle particular signals that you anticipate may occur--whether raised by your own program or the operating environment.
To support these functions, `signal.h' defines three macros:
signalfunction in place of a pointer to a handler subroutine, to select the operating environment's default handling of a signal.
signalfunction in place of a pointer to a handler, to ignore a particular signal.
signalfunction in place of a pointer to a handler, to indicate that your request to set up a handler could not be honored for some reason.
`signal.h' also defines an integral type,
This type is not used in any function declarations; it exists only to
allow your signal handlers to declare a static storage location where
they may store a signal value. (Static storage is not otherwise
reliable from signal handlers.)
Go to the first, previous, next, last section, table of contents.