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