File tree Expand file tree Collapse file tree 5 files changed +145
-130
lines changed Expand file tree Collapse file tree 5 files changed +145
-130
lines changed Original file line number Diff line number Diff line change @@ -10,6 +10,18 @@ $fiber = new Fiber(function (): void {
10
10
var_dump ($ fiber ->isRunning ());
11
11
var_dump ($ fiber ->isSuspended ());
12
12
var_dump ($ fiber ->isTerminated ());
13
+
14
+ $ nested = new Fiber (function () use ($ fiber ): void {
15
+ echo "\nWithin Nested Fiber: \n" ;
16
+ var_dump ($ fiber ->isStarted ());
17
+ var_dump ($ fiber ->isRunning ());
18
+ var_dump ($ fiber ->isSuspended ());
19
+ var_dump ($ fiber ->isTerminated ());
20
+ Fiber::suspend ();
21
+ });
22
+
23
+ $ nested ->start ();
24
+
13
25
Fiber::suspend ();
14
26
});
15
27
@@ -49,6 +61,12 @@ bool(true)
49
61
bool(false)
50
62
bool(false)
51
63
64
+ Within Nested Fiber:
65
+ bool(true)
66
+ bool(true)
67
+ bool(false)
68
+ bool(false)
69
+
52
70
After Start:
53
71
bool(true)
54
72
bool(false)
Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ Resume previous fiber
3
+ --FILE--
4
+ <?php
5
+
6
+ $ fiber = new Fiber (function (): void {
7
+ $ fiber1 = Fiber::this ();
8
+
9
+ $ fiber2 = new Fiber (function () use ($ fiber1 ): void {
10
+ $ fiber1 ->resume ();
11
+ });
12
+
13
+ $ fiber2 ->start ();
14
+ });
15
+
16
+ $ fiber ->start ();
17
+
18
+ ?>
19
+ --EXPECTF--
20
+ Fatal error: Uncaught FiberError: Cannot resume a fiber that is not suspended in %sresume-previous-fiber.php:%d
21
+ Stack trace:
22
+ #0 %sresume-previous-fiber.php(%d): Fiber->resume()
23
+ #1 [internal function]: {closure}()
24
+ #2 %sresume-previous-fiber.php(%d): Fiber->start()
25
+ #3 [internal function]: {closure}()
26
+ #4 %sresume-previous-fiber.php(%d): Fiber->start()
27
+ #5 {main}
28
+ thrown in %sresume-previous-fiber.php on line %d
You can’t perform that action at this time.
0 commit comments