Signal
— Signal watcher¶
-
class
Signal
(signum, loop, callback[, data=None, priority=0])¶ Parameters: Signal
watchers will trigger an event when the process receives a specific signal one or more times. Even though signals are very asynchronous, libev will try its best to deliver signals synchronously, i.e. as part of the normal event processing, like any other event.You can configure as many watchers as you like for the same signal, but only within the same loop, i.e. you can watch for
SIGINT
in your default loop and forSIGIO
in another loop, but you cannot watch forSIGINT
in both the default loop and another loop at the same time. At the moment,SIGCHLD
is permanently tied to the default loop. Only after the first watcher for a signal is started will libev actually register something with the kernel. It thus coexists with your own signal handlers as long as you don’t register any with libev for the same signal.If possible and supported, libev will install its handlers with
SA_RESTART
(or equivalent) behaviour enabled, so system calls should not be unduly interrupted. If you have a problem with system calls getting interrupted by signals you can block all signals in aCheck
watcher and unblock them in aPrepare
watcher.See also
-
signum
¶ Read only
The signal number being monitored.
-