File tree 1 file changed +6
-3
lines changed
1 file changed +6
-3
lines changed Original file line number Diff line number Diff line change @@ -76,10 +76,11 @@ public function suspend(): mixed
76
76
}
77
77
78
78
$ this ->pending = true ;
79
- $ this ->suspendedFiber = $ fiber ;
80
79
81
80
// Awaiting from within a fiber.
82
81
if ($ fiber ) {
82
+ $ this ->suspendedFiber = $ fiber ;
83
+
83
84
try {
84
85
return \Fiber::suspend ();
85
86
} catch (\FiberError $ exception ) {
@@ -105,12 +106,14 @@ public function suspend(): mixed
105
106
if ($ suspensions ) {
106
107
\gc_collect_cycles ();
107
108
109
+ /** @var self $suspension */
108
110
foreach ($ suspensions as $ suspension ) {
109
- if ($ suspension ->fiber === null ) {
111
+ $ fiber = $ suspension ->fiberRef ?->get();
112
+ if ($ fiber === null ) {
110
113
continue ;
111
114
}
112
115
113
- $ reflectionFiber = new \ReflectionFiber ($ suspension -> fiber );
116
+ $ reflectionFiber = new \ReflectionFiber ($ fiber );
114
117
$ info .= "\n\n" . $ this ->formatStacktrace ($ reflectionFiber ->getTrace (\DEBUG_BACKTRACE_IGNORE_ARGS ));
115
118
}
116
119
}
You can’t perform that action at this time.
0 commit comments