#17558 [Com]: pcntl_signal() does not call user-defined function handler
ID: 17558
Comment by: jeff@tmtrading.com
Reported By: clay@killersoft.com
Status: Feedback
Bug Type: *Extensibility Functions
Operating System: Mac OS X
PHP Version: 4.2.1
New Comment:
See bug id 15125. Looks like a similar problem.
Previous Comments:
------------------------------------------------------------------------
[2002-07-07 21:00:30] sniper@php.net
Does this happen with the latest snapshot:
http://snaps.php.net/php4-latest.tar.gz
------------------------------------------------------------------------
[2002-06-01 23:27:52] clay@killersoft.com
function: pcntl_signal()
problem: If "handler" argument is set to a user-defined
function, that function is never called.
script: (taken from www.php.net/pcntl_signal)
<?php
// signal handler function
function sig_handler($signo) {
echo "We hit the sig_handler!\n";
switch($signo) {
case SIGTERM:
// handle shutdown tasks
exit;
break;
case SIGHUP:
// handle restart tasks
break;
case 1:
print "Caught sig 1 ...\n";
break;
case SIGUSR1:
print "Caught SIGUSR1...\n";
break;
default:
// handle all other signals
}
}
print "Installing signal handler...\n";
// setup signal handlers
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP, "sig_handler");
pcntl_signal(SIGUSR1, "sig_handler");
print "Generating signal SIGTERM to self...\n";
// send SIGUSR1 to current process id
posix_kill(posix_getpid(), SIGUSR1);
print "Done\n"
?>
The "we hit the sig handler!" echo never appears ... thus I
suspect it's never being called.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=17558&edit=1
Thread (6 messages)