Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:70578 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 77133 invoked from network); 10 Dec 2013 20:10:38 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 10 Dec 2013 20:10:38 -0000 Authentication-Results: pb1.pair.com header.from=ocramius@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=ocramius@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.216.41 as permitted sender) X-PHP-List-Original-Sender: ocramius@gmail.com X-Host-Fingerprint: 209.85.216.41 mail-qa0-f41.google.com Received: from [209.85.216.41] ([209.85.216.41:47868] helo=mail-qa0-f41.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id CA/3C-04453-D3577A25 for ; Tue, 10 Dec 2013 15:10:38 -0500 Received: by mail-qa0-f41.google.com with SMTP id j5so4042594qaq.7 for ; Tue, 10 Dec 2013 12:10:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=aaH6ZaOyvhR9e9CEs7QvFWM7w5pSRU19ReAALRiz4gg=; b=NNeZkBIK/Ij1eTyD0CpHsdHLzVGaxURJyFfCUDfCZzDJyAVRMXQgN0/8L5S3btiq85 ma6K45OuG03RSjbTuuvXp4OsKg4mLdLh6U9rELiOuULBJswuxPeszdlfoi7kdx3ChusX TIxqpjePXpZrwK6IEUDtdMDPyQOnRQblEAb7srHHOQFrJwn9AecI0WkQmp+5FArcbikh i5/nq+kgEnIx3HqXs8U1bYMpkIauuqYLzX4Os5v+n7AGu5ADcG8Qm/E+LFwmE5jYvKjq EcZ/Kh+bOzChgW06bf1xN1+1eHu8/dVn4XgdRA6jLsB1/HzjiK1B2DoI5M+qXIn9pQGt +wRg== X-Received: by 10.224.15.130 with SMTP id k2mr26875960qaa.101.1386706234274; Tue, 10 Dec 2013 12:10:34 -0800 (PST) MIME-Version: 1.0 Received: by 10.140.23.176 with HTTP; Tue, 10 Dec 2013 12:10:14 -0800 (PST) In-Reply-To: <52A760A1.4030107@sugarcrm.com> References: <6dc040b1d4917ab616951694d3f37575@mail.gmail.com> <52A760A1.4030107@sugarcrm.com> Date: Tue, 10 Dec 2013 21:10:14 +0100 Message-ID: To: Stas Malyshev Cc: Zeev Suraski , Philip Sturgeon , Nikita Popov , PHP internals Content-Type: multipart/alternative; boundary=047d7bdcad4c8079f304ed33b4a2 Subject: Re: [PHP-DEV] [VOTE] Allowing use of exceptions in the engine From: ocramius@gmail.com (Marco Pivetta) --047d7bdcad4c8079f304ed33b4a2 Content-Type: text/plain; charset=UTF-8 On 10 December 2013 19:42, Stas Malyshev wrote: > Hi! > > > If an application fatal'd, then I don't really care if my data structures > > are invalid: I just want to save what I can save and quit. If I want to > > The part that you're missing here is that it's not your data structures > that may be invalid, it's engine's. Not missing anything here - I know that stuff may be hugely broken (stack pointers & co for example). > And what you call "I can save and > quit", the engine calls "execute arbitrary amount of code", for which it > needs valid data structures. Unless your "save and quit" code does not > call any functions and does nothing useful at all, from the engine POV > your "save and quit" is no different from "continue working normally" - > it needs all the data structures to be in a perfect order as if nothing > bad happened. For some errors, it may be possible. For some, it may be > possible but hard. Yes, and it looks like Nikic actually identified a list of what looks like a big dealw and what not. I know it may be hard to guarantee that code can be executed after a fatal, but I wouldn't deny it upfront just because it's a non-trivial problem (or an undefined state of the engine). Marco Pivetta http://twitter.com/Ocramius http://ocramius.github.com/ --047d7bdcad4c8079f304ed33b4a2--