Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:125700 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 5B2DE1A00BD for ; Sat, 28 Sep 2024 14:21:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1727533415; bh=Iex/chRXmhLMsvlQci8fJwEezsqh9pCvq41UPQLApT0=; h=Date:Subject:To:References:From:In-Reply-To:From; b=XoDtu9eM9B8QdQEPKpLN9xAQopXy04tGL8LbaKW/01GGc+nLWmDHJdfx3f+MV+Ig7 XiMDuSNag4ExDccAbZTCiNUCHoQB2UE38uFKbGEmn8/Z6x4HbarFlPKfntEKp5L6E2 7mDIlkKKH7mqorKNMTJP6qm+de17T5y1OeRZhy/aOqoXqeDs59dGKuxFicbnUOozpd NZJN6eOmshKH+jRy9Xe6QBVZCpm50Dk2iUbv9NhuwdmccnhEaL2HbN0qsjMb9fDn8I rv4uMQLWz1sEscShH0J1pnLxOwL9EKCzTuZRdmKDqQodLu940RjuVhMyLTMl8Udnmn ++/ymZ/jdbbtg== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id D982B180083 for ; Sat, 28 Sep 2024 14:23:32 +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_PASS, SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from filter101.mijn.host (filter101.mijn.host [109.163.225.9]) (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 ; Sat, 28 Sep 2024 14:23:32 +0000 (UTC) Received: from h26.mijn.host ([2a03:5180:7:2:f264:726d:beae:1]) by filter101.mijn.host with esmtps (TLSv1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1suYJx-007QfT-PD; Sat, 28 Sep 2024 10:21:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=jnvsor.net; s=x; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:References:To: Subject:MIME-Version:Date:Message-ID:Sender:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=kJ5YMGyhH53QcqxHbtF0PJR8aYSD8dMZ4fnuXOzSuV0=; b=ieMv13AYATtkbiTRSSs1QFYTo4 2m11TrN6TRPy47Tu0+6uXUWGUwhE4Cxxmi8wG3OTfW8FbGwmY6fdzhuTVNAt8mPNGzrItun0rDNRi pbfO709lfSJkEkQkIhu6I5O6ig80FUIOQ6pAxtE1KN2LP1EE4+lto7kVLD+lheWo6rwAKqU2/vEyM A8P7IcgAW5jN49OIIo/nrSgUsiNzGWL3bsWvLUngbElMLBQY7WwnKwPyEwoNzxe+LNjgE8NOZGC3R TUvjtQcRrM/vBC9MKPjOtvO5+qlSEZDhvRUcfcHS6gtZh5xd5/YQISNQ973fC9O4l4LabWjjQxP0+ LtMlIrVw==; Received: from 2001-1c00-2a11-3600-8c59-123f-830c-f816.cable.dynamic.v6.ziggo.nl ([2001:1c00:2a11:3600:8c59:123f:830c:f816]) by h26.mijn.host with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.97.1) (envelope-from ) id 1suWRp-0000000EZp0-0mmT; Sat, 28 Sep 2024 16:21:17 +0200 Message-ID: Date: Sat, 28 Sep 2024 16:21:16 +0200 Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PHP-DEV] Protected destructors To: "Christoph M. Becker" , internals@lists.php.net References: <0a45288d-8ae1-4b1c-8836-6bdd1cf34eb2@gmx.de> Content-Language: en-US In-Reply-To: <0a45288d-8ae1-4b1c-8836-6bdd1cf34eb2@gmx.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-AuthUser: jnv@jnvsor.net X-Originating-IP: 2a03:5180:7:2:f264:726d:beae:1 X-mijn.host-Spamfilter-Domain: mijn.host X-mijn.host-Spamfilter-Username: 2a03:5180:7:2:f264:726d:beae:1/112 Authentication-Results: mijn.host; auth=pass smtp.auth=2a03:5180:7:2:f264:726d:beae:1/112@mijn.host X-mijn.host-Spamfilter-Outgoing-Class: ham X-mijn.host-Spamfilter-Outgoing-Evidence: Combined (0.12) X-Recommended-Action: accept X-Filter-ID: Pt3MvcO5N4iKaDQ5O6lkdGlMVN6RH8bjRMzItlySaT98xb9cHBkjyF6h0RJdETwwPUtbdvnXkggZ 3YnVId/Y5jcf0yeVQAvfjHznO7+bT5zr15gjLQ0SWiXvo+DR/pk6q253rOklRXD1q5sFwQBtunvc WDquIhTPtYQM+qd0IwNMKWbVGzlPvFrdBdI13GtqqQhu47KXj016QRDHETY3VFGavff7/jlq6fkm O4krnmufq6R/soG+MVZP6FGHOYBvdE+0Sm0VGxuweJufYsxCUYkM3GN2u7AGZm2wHVp/fXE1CW5O KejnBWodcaHROVhYCiEJfuRyzDFl0nQGxmJNdzp9NiU0TSXrD12hXdKYD7TndEL8IbXBpRiMfP45 Wz78wlk3IikaAYYay6zwzan8jGFVNuJ7yzg8kcJpL6WxfNftiJj40z1U+M0Pm0WlgdYxgfF+W0yJ JnzcYL6x+8K5vrmXL8rNdlxvESmUUBjYdbjSTi6zkh+87U2NgqQzOlqGSfzRB2oF6jmZKw5nr+Sw PuPZv5F7RzGS3oVctjiZbdo93SsS4aMXJmiJ2G0eb5ahywJCavNZKWnb8CIoj2X8qi94q1mCIa1F cMUOJej9NeZ3EqW8CgPw7EoLRLxPxZsAgFLjQLpHyp6ln/j1jDpTIUmCR0R7KNsho6aCUmp4CCgb LI3EADX7zSyEJA1afz0gliMc8Rl/7j5lWFaY18qv+9abmhWdAc6rPIDUuW1Gf7W6Ookbg6rrKGUl 8KoruTjqB5hQ6nsDvccjqgmDvD9Wh6Hyi8xrdrZCNVD+K6WyigPBqnrW+DYb+TAXVZsivwKCpHGC f3iCFBF1/Qhgr7rQNABsmR26MhCOdrvojlXARBIsMyDxNs3BAhVd4gvhUGEDlpO5yJkwJr0H6kY+ OAIUGsckQxiEi3C0oX3e0PIWd/8LGvxaxb0SCFELojhr9z5sIbtf63VNbf0lrvssY+k7AN2hNpqK uvxxFFnjopYoLnL0zCSjUiriLdvbXwfr3TarbEN6J3/H/7vMlm6AWzMz0eul5TMWxgVCnXFssSUm fxc9V1f2dzgYyQuQAX6M189oK/hxctj+cGp8PlbUsiHK1zp9NiU0TSXrD12hXdKYD7SQApPlf1et B+iXyZ7IO9sBGgA7UXtuEHCQffmeRNeTmQ== X-Report-Abuse-To: spam@filter101.mijn.host From: jnv@jnvsor.net (Jonathan Vollebregt) > Hmm, I wonder about the use-cases of userland destructors. It seems to > me they are mostly useful for sanity checks, and maybe to close > resources. Are there others? > > If not, I wouldn't worry much about the visibility of destructors, > because resources are scheduled for replacement anyway. Besides closing resources and killing processes I've seen them store data to disk for caching, remove temp files, call callbacks/dispatch events, change state on other objects, dump stored errors to error_log in a loop in an error handler... It looks like there's quite a lot of use-cases for them (Which can go wrong if called twice) that don't necessarily require resources to be involved