On 05.08.2024 at 18:52, Tim Düsterhus wrote:

> On 8/5/24 14:52, Christoph M. Becker wrote:
>
>> Hmm, so far I only had skimmed the RFC and the related discussions, but
>> now I checked out the suggested implementation[1].  Then I tried to
>> build with PECL/uopz, and of course that failed because ZEND_EXIT is no
>> longer there.  Okay, quickly drop that usage; build succeeds.  Then I ran
>>
>> <?php
>> uopz_set_return("exit", function () {echo "hello";}, true);
>> exit;
>> ?>
>>
>> And got
>>
>> hello
>>
>> Previously, no output was echoed.  While that seems to be fixable in
>
> Frankly from a userland developer PoV this looks entirely correct: If I
> override the `exit()` function, then I expect the `exit()` function to
> be overridden.

I should have clarified, that "fixing" means to restore the expected
behavior of uopz, namely that accidential attempts to override exit with
`uopz_set_return()` were silently ignored, but unless `uopz.exit=1` is
set, or `uopz_allow_exit(true)` is called, exit is ignored.  Especially
the latter may be relied upon by tests for legacy code.

Christoph

Reply via email to