1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 00:02:20 +01:00
Files
archived-php-src/ext/pcntl/tests/bug81577.phpt
Dmitry Stogov 271cbe527c Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Partially fix handling of exceptions thrown in interrupt handlers
2021-11-11 21:01:40 +03:00

32 lines
608 B
PHP

--TEST--
Bug #81577: (Exceptions in interrupt handlers)
--EXTENSIONS--
pcntl
posix
--FILE--
<?php
class C {
public static $cond = 1;
public static $a;
}
C::$a = [ C::$cond ]; // make countable zval
pcntl_async_signals(true);
pcntl_signal(SIGTERM, function ($signo) { throw new Exception("Signal"); });
for ($i = 0; $i < 5; $i++) {
try {
C::$a + C::$a;
posix_kill(posix_getpid(), SIGTERM) + C::$cond;
} catch (Throwable $ex) {
echo get_class($ex) , " : " , $ex->getMessage() , "\n";
}
}
?>
--EXPECT--
Exception : Signal
Exception : Signal
Exception : Signal
Exception : Signal
Exception : Signal