resume-previous-fiber.phpt 688 B

12345678910111213141516171819202122232425262728
  1. --TEST--
  2. Resume previous fiber
  3. --FILE--
  4. <?php
  5. $fiber = new Fiber(function (): void {
  6. $fiber1 = Fiber::getCurrent();
  7. $fiber2 = new Fiber(function () use ($fiber1): void {
  8. $fiber1->resume();
  9. });
  10. $fiber2->start();
  11. });
  12. $fiber->start();
  13. ?>
  14. --EXPECTF--
  15. Fatal error: Uncaught FiberError: Cannot resume a fiber that is not suspended in %sresume-previous-fiber.php:%d
  16. Stack trace:
  17. #0 %sresume-previous-fiber.php(%d): Fiber->resume()
  18. #1 [internal function]: {closure}()
  19. #2 %sresume-previous-fiber.php(%d): Fiber->start()
  20. #3 [internal function]: {closure}()
  21. #4 %sresume-previous-fiber.php(%d): Fiber->start()
  22. #5 {main}
  23. thrown in %sresume-previous-fiber.php on line %d