diff options
author | Jason Greene <jason@php.net> | 2001-06-12 08:54:25 +0000 |
---|---|---|
committer | Jason Greene <jason@php.net> | 2001-06-12 08:54:25 +0000 |
commit | 8b43f3222ec7a2956568cd6da055afac89fd3b87 (patch) | |
tree | 09ec0cdeb60f4491efceb4549f34bd401891f8a9 /ext/pcntl/test-pcntl.php | |
parent | 3186994df105eafbf292d15187703b654431263b (diff) | |
download | php-git-8b43f3222ec7a2956568cd6da055afac89fd3b87.tar.gz |
@Added new experimental module pcntl (Process Control) (Jason)
Initial Import
Diffstat (limited to 'ext/pcntl/test-pcntl.php')
-rwxr-xr-x | ext/pcntl/test-pcntl.php | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/ext/pcntl/test-pcntl.php b/ext/pcntl/test-pcntl.php new file mode 100755 index 0000000000..c611bfe504 --- /dev/null +++ b/ext/pcntl/test-pcntl.php @@ -0,0 +1,35 @@ +#!/opt/devel/php4/php -q +<? +function alarm_handle($signal){ + if ($signal==SIGALRM) print "Caught SIGALRM!!!\n"; +} +function usr1_handle($signal){ + if ($signal==SIGUSR1) print "Caught SIGUSR1!!!\n"; +} + +print "This test will demonstrate a fork followed by ipc via signals.\n"; + +$pid=pcntl_fork(); +if ($pid==0) { + pcntl_signal(SIGUSR1, "usr1_handle"); + pcntl_signal(SIGALRM, "alarm_handle"); + print "Child: Waiting for alarm.....\n"; + sleep(100); + print "Child: Waiting for usr1......\n"; + sleep(100); + print "Child: Resetting Alarm handler to Ignore....\n"; + pcntl_signal(SIGALRM, SIG_IGN); + sleep(10); + print "Done\n"; +} else { + print "Parent: Waiting 10 seconds....\n"; + sleep(10); + print "Parent: Sending SIGALRM to Child\n"; + posix_kill($pid,SIGALRM); + sleep(1); + print "Parent: Senging SIGUSR1 to Child\n"; + posix_kill($pid,SIGUSR1); + sleep(1); + print "Parent: Sending SIGALRM to Child\n"; + pcntl_waitpid($pid, $status, $options); +} |