async_signals.phpt 639 B

12345678910111213141516171819202122232425
  1. --TEST--
  2. Asynchronous signal handling through VM interrupts
  3. --SKIPIF--
  4. <?php
  5. if (!extension_loaded("pcntl")) print "skip";
  6. elseif (!function_exists("pcntl_signal")) print "skip pcntl_signal() not available";
  7. elseif (!function_exists("posix_kill")) print "skip posix_kill() not available";
  8. elseif (!function_exists("posix_getpid")) print "skip posix_getpid() not available";
  9. ?>
  10. --FILE--
  11. <?php
  12. pcntl_async_signals(1);
  13. pcntl_signal(SIGTERM, function ($signo) { echo "Signal handler called!\n"; });
  14. echo "Start!\n";
  15. posix_kill(posix_getpid(), SIGTERM);
  16. $i = 0; // dummy
  17. echo "Done!\n";
  18. ?>
  19. --EXPECT--
  20. Start!
  21. Signal handler called!
  22. Done!