Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:68347 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 31445 invoked from network); 31 Jul 2013 13:05:59 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 31 Jul 2013 13:05:59 -0000 Authentication-Results: pb1.pair.com header.from=julien.salleyron@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=julien.salleyron@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.192.181 as permitted sender) X-PHP-List-Original-Sender: julien.salleyron@gmail.com X-Host-Fingerprint: 209.85.192.181 mail-pd0-f181.google.com Received: from [209.85.192.181] ([209.85.192.181:40823] helo=mail-pd0-f181.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 99/13-07795-5BB09F15 for ; Wed, 31 Jul 2013 09:05:58 -0400 Received: by mail-pd0-f181.google.com with SMTP id g10so731105pdj.26 for ; Wed, 31 Jul 2013 06:05:55 -0700 (PDT) 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=eOByIcZjjn9a/hTwo9hpnGu38f+R8nuIj1ImKuCPpqc=; b=El6IHqgVq0N643kQgwLbe0AdLTn+Iig1NwfzYTswdx88Tp25sSd8zZ71yl36hFfrrI f9XiTy5yqSSPiT+i2uPDXPKVCi7W1a86wfDQf3NNAgDTCWFt8WxN2y+S+bZkkgwQNV7X TfsfdfNV5ktvbaJsd6YJJT6XNlcOAw+BHvry18CyAabOCk510ToqRoAqIuN/ynH7zNw7 Oyowd71L0G1syiVf2FPFjxGUh8yiHybEuUmHOOIOIfwD0yO2j1ZSoDHfFPOiprxAlL9f 7qhYFCVbQEAPR+Vd7zdxamzZHhNMf2/rqa/yDaXlua6NJxMUAa24ohaNa2g+7djO7L0m m1Qg== X-Received: by 10.68.228.102 with SMTP id sh6mr79933729pbc.138.1375275955315; Wed, 31 Jul 2013 06:05:55 -0700 (PDT) MIME-Version: 1.0 Received: by 10.68.129.9 with HTTP; Wed, 31 Jul 2013 06:05:35 -0700 (PDT) In-Reply-To: References: Date: Wed, 31 Jul 2013 15:05:35 +0200 Message-ID: To: Yasuo Ohgaki Cc: PHP internals Content-Type: multipart/alternative; boundary=e89a8ff2447bc8eabb04e2ce6249 Subject: Re: [PHP-DEV] zend_execute_ex problem From: julien.salleyron@gmail.com (Julien SALLEYRON) --e89a8ff2447bc8eabb04e2ce6249 Content-Type: text/plain; charset=UTF-8 >Hi Julien, Hi and thank you for taking the time to help. > Don't over write EG(execute_data), but use your own pointer when it is needed. I think this will fix your problem. The problem here is that I have came to the conclusion (wrong conclusion ?) that I need to update the EG(current_execute_data) "as if" the former called function had been processed, to actually skip the function that was called in PHP. Maybe some code will be more explicit... ) and it ends up updating EG(current_execute_data) with EG(current_execute_data)->prev_execute_data. Now, when the hook is raising an exception, I'd like to just skip the function call. If I just "return" (https://github.com/AOP-PHP/AOP/blob/php5-5/aop.c#L397 ) it ends up in an infinite loop. reason why I tried EG (current_execute_data) = EG(current_execute_data)->prev_execute_data; But this solution ends up in memory headakes... 2013/7/31 Yasuo Ohgaki > Hi Julien, > > On Wed, Jul 31, 2013 at 6:24 PM, Julien SALLEYRON < > julien.salleyron@gmail.com> wrote: > >> If I EG(execute_data) = EG(execute_data)->prev_execute_data, there is no >> loop anymore, but I have freeing error >> > > Don't over write EG(execute_data), but use your own pointer when it is > needed. > I think this will fix your problem. > > Regards, > > -- > Yasuo Ohgaki > yohgaki@ohgaki.net > --e89a8ff2447bc8eabb04e2ce6249--