Copyright (C) 2000-2012 |
GNU Info (libc.info)Defining HandlersDefining Signal Handlers ======================== This section describes how to write a signal handler function that can be established with the `signal' or `sigaction' functions. A signal handler is just a function that you compile together with the rest of the program. Instead of directly invoking the function, you use `signal' or `sigaction' to tell the operating system to call it when a signal arrives. This is known as "establishing" the handler. Note: Signal Actions. There are two basic strategies you can use in signal handler functions: * You can have the handler function note that the signal arrived by tweaking some global data structures, and then return normally. * You can have the handler function terminate the program or transfer control to a point where it can recover from the situation that caused the signal. You need to take special care in writing handler functions because they can be called asynchronously. That is, a handler might be called at any point in the program, unpredictably. If two signals arrive during a very short interval, one handler can run within another. This section describes what your handler should do, and what you should avoid.
automatically generated by info2www version 1.2.2.9 |