Lines Matching refs:signo

57 # define zend_sigprocmask(signo, set, oldset) tsrm_sigmask((signo), (set), (oldset))  argument
59 # define zend_sigprocmask(signo, set, oldset) sigprocmask((signo), (set), (oldset)) argument
62 static void zend_signal_handler(int signo, siginfo_t *siginfo, void *context);
63 static int zend_signal_register(int signo, void (*handler)(int, siginfo_t*, void*));
82 void zend_signal_handler_defer(int signo, siginfo_t *siginfo, void *context) in zend_signal_handler_defer() argument
91 zend_signal_handler(signo, siginfo, context); in zend_signal_handler_defer()
103 zend_signal_handler(signo, siginfo, context); in zend_signal_handler_defer()
109 …zend_signal_handler(queue->zend_signal.signo, queue->zend_signal.siginfo, queue->zend_signal.conte… in zend_signal_handler_defer()
112 queue->zend_signal.signo = 0; in zend_signal_handler_defer()
123 queue->zend_signal.signo = signo; in zend_signal_handler_defer()
137 zend_output_debug_string(0, "zend_signal: not enough queue storage, lost signal (%d)", signo); in zend_signal_handler_defer()
143 zend_signal_handler(signo, siginfo, context); in zend_signal_handler_defer()
162 queue->zend_signal.signo = 0; in zend_signal_handler_unblock()
165 zend_signal_handler_defer(zend_signal.signo, zend_signal.siginfo, zend_signal.context); in zend_signal_handler_unblock()
174 static void zend_signal_handler(int signo, siginfo_t *siginfo, void *context) in zend_signal_handler() argument
186 p_sig = SIGG(handlers)[signo-1]; in zend_signal_handler()
189 if (sigaction(signo, NULL, &sa) == 0) { in zend_signal_handler()
194 sigaddset(&sigset, signo); in zend_signal_handler()
196 if (sigaction(signo, &sa, NULL) == 0) { in zend_signal_handler()
201 if (raise(signo) != 0) { in zend_signal_handler()
203 kill(getpid(), signo); in zend_signal_handler()
206 kill(getpid(), signo); in zend_signal_handler()
213 SIGG(handlers)[signo-1].flags = 0; in zend_signal_handler()
214 SIGG(handlers)[signo-1].handler = SIG_DFL; in zend_signal_handler()
216 (*(void (*)(int, siginfo_t*, void*))p_sig.handler)(signo, siginfo, context); in zend_signal_handler()
218 (*(void (*)(int))p_sig.handler)(signo); in zend_signal_handler()
227 ZEND_API void zend_sigaction(int signo, const struct sigaction *act, struct sigaction *oldact) in zend_sigaction() argument
233 oldact->sa_flags = SIGG(handlers)[signo-1].flags; in zend_sigaction()
234 oldact->sa_handler = (void *) SIGG(handlers)[signo-1].handler; in zend_sigaction()
238 SIGG(handlers)[signo-1].flags = act->sa_flags; in zend_sigaction()
240 SIGG(handlers)[signo-1].handler = (void *) act->sa_sigaction; in zend_sigaction()
242 SIGG(handlers)[signo-1].handler = (void *) act->sa_handler; in zend_sigaction()
246 if (SIGG(handlers)[signo-1].handler == (void *) SIG_IGN) { in zend_sigaction()
254 if (sigaction(signo, &sa, NULL) < 0) { in zend_sigaction()
255 zend_error_noreturn(E_ERROR, "Error installing signal handler for %d", signo); in zend_sigaction()
260 sigaddset(&sigset, signo); in zend_sigaction()
268 ZEND_API void zend_signal(int signo, void (*handler)(int)) in zend_signal() argument
277 zend_sigaction(signo, &sa, NULL); in zend_signal()
285 static zend_result zend_signal_register(int signo, void (*handler)(int, siginfo_t*, void*)) in zend_signal_register() argument
289 if (sigaction(signo, NULL, &sa) == 0) { in zend_signal_register()
294 SIGG(handlers)[signo-1].flags = sa.sa_flags; in zend_signal_register()
296 SIGG(handlers)[signo-1].handler = (void *)sa.sa_sigaction; in zend_signal_register()
298 SIGG(handlers)[signo-1].handler = (void *)sa.sa_handler; in zend_signal_register()
305 if (sigaction(signo, &sa, NULL) < 0) { in zend_signal_register()
306 zend_error_noreturn(E_ERROR, "Error installing signal handler for %d", signo); in zend_signal_register()
380 queue->zend_signal.signo = 0; in zend_signal_globals_ctor()
389 int signo; in zend_signal_init() local
394 for (signo = 1; signo < NSIG; ++signo) { in zend_signal_init()
395 if (sigaction(signo, NULL, &sa) == 0) { in zend_signal_init()
396 global_orig_handlers[signo-1].flags = sa.sa_flags; in zend_signal_init()
398 global_orig_handlers[signo-1].handler = (void *) sa.sa_sigaction; in zend_signal_init()
400 global_orig_handlers[signo-1].handler = (void *) sa.sa_handler; in zend_signal_init()