Repository navigation
Commit 3bb50c1
committed
fibers: fix GH-23921 (Fibers start with error_reporting = 0 when the error_reporting INI directive is not set)
The way zend_fiber_execute() queries the error_reporting level is rather rather strange.
It cannot rely on the value of EG(error_reporting) as the @ silence operator may change it and this it would leak into the body of a fiber.
However, we can simply query the underlying value of the INI setting to get the correct error_reporting value as this is not modified by the @ operator.
Fixes an additional bug where the error_reporting value within a fiber was always E_ALL if the @ operator was used.
Closes GH-239301 parent 4b2a397 commit 3bb50c1
4 files changed
Lines changed: 39 additions & 5 deletions
File tree
- Zend
- tests/fibers
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
| 19 | + | |
18 | 20 | | |
19 | 21 | | |
20 | 22 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
570 | 570 | | |
571 | 571 | | |
572 | 572 | | |
573 | | - | |
| 573 | + | |
| 574 | + | |
574 | 575 | | |
575 | | - | |
576 | | - | |
577 | | - | |
578 | | - | |
579 | 576 | | |
580 | 577 | | |
581 | 578 | | |
| |||
0 commit comments