123456789101112131415161718192021222324252627282930313233343536 |
- --TEST--
- Test unfinished fiber with suspend in finally
- --FILE--
- <?php
- $fiber = new Fiber(function (): object {
- try {
- try {
- echo "fiber\n";
- return new \stdClass;
- } finally {
- echo "inner finally\n";
- Fiber::suspend();
- echo "after await\n";
- }
- } catch (Throwable $exception) {
- echo "exit exception caught!\n";
- } finally {
- echo "outer finally\n";
- }
- echo "end of fiber should not be reached\n";
- });
- $fiber->start();
- unset($fiber);
- echo "done\n";
- ?>
- --EXPECT--
- fiber
- inner finally
- outer finally
- done
|