Skip to content

Commit 87effa0

Browse files
committed
Fix fibers with tracer disabled
Signed-off-by: Bob Weinand <[email protected]>
1 parent 91227e5 commit 87effa0

2 files changed

Lines changed: 25 additions & 3 deletions

File tree

ext/ddtrace.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1042,9 +1042,6 @@ static PHP_MINIT_FUNCTION(ddtrace) {
10421042
#if ZAI_JIT_BLACKLIST_ACTIVE
10431043
zai_jit_minit();
10441044
#endif
1045-
#if PHP_VERSION_ID >= 80100
1046-
ddtrace_setup_fiber_observers();
1047-
#endif
10481045

10491046
#if PHP_VERSION_ID < 70300 || (defined(_WIN32) && PHP_VERSION_ID >= 80300 && PHP_VERSION_ID < 80400)
10501047
ddtrace_startup_hrtime();
@@ -1096,6 +1093,10 @@ static PHP_MINIT_FUNCTION(ddtrace) {
10961093
return SUCCESS;
10971094
}
10981095

1096+
#if PHP_VERSION_ID >= 80100
1097+
ddtrace_setup_fiber_observers();
1098+
#endif
1099+
10991100
#ifndef _WIN32
11001101
ddtrace_set_coredumpfilter();
11011102
#endif
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
--TEST--
2+
Test executing fibers with tracer fully disabled
3+
--INI--
4+
ddtrace.disable=1
5+
--FILE--
6+
<?php
7+
8+
function fiber() {
9+
Fiber::suspend(1);
10+
return 2;
11+
}
12+
13+
$fiber = new Fiber(fiber(...));
14+
var_dump($fiber->start());
15+
$fiber->resume();
16+
var_dump($fiber->getReturn());
17+
18+
?>
19+
--EXPECT--
20+
int(1)
21+
int(2)

0 commit comments

Comments
 (0)