Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:124779 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id D59DC1A00B7 for <internals@lists.php.net>; Mon, 5 Aug 2024 16:52:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1722876840; bh=z0e06NWJ79WItvla/qWwLgRund+1xwdqI1WwO9y2o5c=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=SfhlK9CysNlM+4iyUbBTSNt2aAEMoXgAs+hvXzcE8kBOUM6Q53ovIofJ2p1XEM43e uxkltPxLJUp8MRJ3Imi9qBMel6SBX5A0lKFqW0c7SaF6xtNWVACu1UF9OJg8snmYfU T9Q3VtvFpxJvE4o/VfhkJj/f5SbyCBoza/YMeqT3gGFxKC50wsjUGVEWfJra/gF/17 Vg8Pr5OcYNZZ8yUlkNslM/LWuUN+7L0YJcIPGp+A9pWd2XAw+nYdRmHMpkIqG1l0R8 d4E2+Kn4ixO87f5ZKoC6aIIjq7zWv1nQtITpi+lndObPJ8ZTwUmOkjEdFW4rykZrXH EGiCKX4mGXGEQ== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 42CAF1801ED for <internals@lists.php.net>; Mon, 5 Aug 2024 16:53:59 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: <tim@bastelstu.be> Received: from chrono.xqk7.com (chrono.xqk7.com [176.9.45.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for <internals@lists.php.net>; Mon, 5 Aug 2024 16:53:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bastelstu.be; s=mail20171119; t=1722876735; bh=APY8Bo3t+n9ph8kzai1/9tdYieP7stfXqGLhqjk8H+8=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type:from:to:cc:subject:message-id; b=XT0MaDlcBbq4MrZrKVu3sgwjiWkT58yB/AY+j8D5X72imsjpZ7hNilxhedeOmk5Lj Nrwk0O2cRLb3+bpdQdSaL6XWHemuMuua2T7BEVwZa/Q2QkX1f3g0dVPxKFOzK/Z9lW qHNR9h+SoHG5dpb4IXVweFPYdQGAtyCwL341NXVNs8KXNRG+ecM0FHVodDWx7chU8w sDGaKivrox7yqOULH7O71ff1u8j71sK2dwVBJKRQ8tl0SJ3GoDN7Z/Qw514QH+eoEn bFQFjpJPdREogZWgCs7rKgTVG9zJIjriHDrg7p8VTr5D9Wz3cDCUpSZ8+mQb8N0alE 8SAkvJ6+tcbjw== Message-ID: <a2cf19e2-4c42-42a1-b060-205b782252c8@bastelstu.be> Date: Mon, 5 Aug 2024 18:52:14 +0200 Precedence: bulk list-help: <mailto:internals+help@lists.php.net list-unsubscribe: <mailto:internals+unsubscribe@lists.php.net> list-post: <mailto:internals@lists.php.net> List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 Subject: Re: [PHP-DEV] [RFC] [VOTE] Transform exit() from a language constructinto a standard function To: "Christoph M. Becker" <cmbecker69@gmx.de>, Derick Rethans <derick@php.net> Cc: "Gina P. Banyard" <internals@gpb.moe>, PHP internals <internals@lists.php.net> References: <WAN6ETlWt7JfcVoyeYfY_F_eLE6WzQa87F7yi8SHISmyktMYx7YcA6oG5dis3gFeI36VBjSfjGw4AT6psFFDXEUNRrvKRRn4LxfdCxFBccw=@gpb.moe> <15bb76a0-cbd7-4145-b429-76d424755106@gmx.de> <1a8650d2-7eb5-d645-8132-e5522ad24637@php.net> <06ba1d82-6387-46ac-8be3-1d3472993e1a@gmx.de> Content-Language: en-US In-Reply-To: <06ba1d82-6387-46ac-8be3-1d3472993e1a@gmx.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit From: tim@bastelstu.be (=?UTF-8?Q?Tim_D=C3=BCsterhus?=) Hi 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. Best regards Tim Düsterhus