was handled. These three return values are sometimes used to convey important information
about the status of the event in the Notifier (usually the function that called
notify_next_*_func() looks at the return value). These return values and their signif-
icance are covered in Section 20.9.4, “Invoking the Next Function.”
20.5 Signal Handling
Signals are UNIX software interrupts. The Notifier multiplexes access to the UNIX signal
mechanism. A Notifier client may ask to be notified that a UNIX signal occurred either when
it is received (asynchronously) and/or later during normal processing (synchronously).
Clients may define and register a signal event handler to respond to any UNIX signal desired.
However, some of the signals that you might catch in a traditional UNIX program should be
caught instead by the Notifier.
CAUTION
Clients of the Notifier should not directly catch any
UNIX signals using signal
(3), sigvec (2), or sigaction (2). There are critical stages of event reading
and dispatching that, if interrupted, could cause the program to jump to another
location and interrupt the communication protocol between the X server and the
application.
Exceptions to this are noted later in this section.
20.5.1 Signals to Avoid
Clients should not have to catch any of the following signals (even via notify_set_
signal_func() described below). If they are, you are probably utilizing the Notifier
inappropriately. The Notifier catches these signals itself under a variety of circumstances and
handles them appropriately ...