On Sunday 27 July 2008 16:04:58 Derick Rethans wrote: > On Sun, 27 Jul 2008, Arnaud Le Blanc wrote: > > > Hi, > > > > I made a pcntl_signal_dispatch() function [1] to allow scripts that use > > signals to work without ticks. > > > > This function just calls the pcntl's tick handler on-demand so that all signal > > handler functions are called if there are pending signals. > > > > It does not allow the signal handlers to be called at any time like with > > ticks, but allows things like this: > > > > while (do_something()) { > > /* main loop */ > > pcntl_signal_dispatch(); > > } > > > > or > > > > while (pcntl_signal_dispatch() && do_something()) { > > /* main loop */ > > } > > Does the function block if there are no pending signals? If not, I think > we should make that an option. >
No, but I was thinking to implement sigwaitinfo()/sigtimedwait(), which blocks indefinitly or for a given time until a signal is delivered. This also requires to implement sigprocmask(). It would also be great to have signalfd() (which is select()able), but it's Linux specific and requires quite recent Kernel and libc (that said, I'm going to implement it if there are positive feedbacks about that). Regards, Arnaud -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php