diff options
Diffstat (limited to 'ext/pcntl/tests/signal_closure_handler.phpt')
-rw-r--r-- | ext/pcntl/tests/signal_closure_handler.phpt | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/ext/pcntl/tests/signal_closure_handler.phpt b/ext/pcntl/tests/signal_closure_handler.phpt new file mode 100644 index 0000000..438e051 --- /dev/null +++ b/ext/pcntl/tests/signal_closure_handler.phpt @@ -0,0 +1,25 @@ +--TEST-- +Closures as a signal handler +--SKIPIF-- +<?php + if (!extension_loaded("pcntl")) print "skip"; + elseif (!function_exists("pcntl_signal")) print "skip pcntl_signal() not available"; + elseif (!function_exists("posix_kill")) print "skip posix_kill() not available"; + elseif (!function_exists("posix_getpid")) print "skip posix_getpid() not available"; +?> +--FILE-- +<?php +declare (ticks = 1); + +pcntl_signal(SIGTERM, function ($signo) { echo "Signal handler called!\n"; }); + +echo "Start!\n"; +posix_kill(posix_getpid(), SIGTERM); +$i = 0; // dummy +echo "Done!\n"; + +?> +--EXPECTF-- +Start! +Signal handler called! +Done! |