Signals

From OSDev.wiki
Revision as of 22:21, 6 March 2007 by Combuster (talk | contribs) (Rough import from osfaq)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Template:Convert

Signals are a Unix invention for asynchronous signaling, and were integrated into the C standard (<signal.h>). When a process receives a signal (send by hardware, or another process using =raise()=), a signal handler is called. A signal handler is a C function that handles the signal; which function to call on which signal is defined by passing its function pointer to the =signal()= function. (If no signal handler is defined for a given signal, a =raise()= of that signal aborts the program.)

Signal handling is tricky, since it breaks the single-control-flow structure of a C program. Make sure you read the manuals...


Category: InterProcessCommunication