And the last one, the most questionable patch.

ATM ZE2 calls destructor at the end of the request and no matter 
is there were a fatal error (which should probably stop executing the script).
In some cases it leads to nasty segfaults (me and report's author can reproduce 
it, but others can't. weird..).

Some persons (hello, Andrey =)) think that this could be a useful feature, but 
for me it's just an inconsistency. IMO destructors should not be called after 
fatal errors, because they can cause even more harm.

-- 
Wbr,
Antony Dovgal aka tony2001
[EMAIL PROTECTED] || [EMAIL PROTECTED]
Index: zend_objects_API.c
===================================================================
RCS file: /repository/ZendEngine2/zend_objects_API.c,v
retrieving revision 1.42
diff -u -r1.42 zend_objects_API.c
--- zend_objects_API.c  25 Jul 2004 17:25:44 -0000      1.42
+++ zend_objects_API.c  6 Sep 2004 05:30:23 -0000
@@ -140,7 +140,7 @@
                        if 
(!EG(objects_store).object_buckets[handle].destructor_called) {
                                
EG(objects_store).object_buckets[handle].destructor_called = 1;
 
-                               if (obj->dtor) {
+                               if (EG(exit_status) == SUCCESS && obj->dtor) { /* only 
call destructor if there was no fatal errors before */
                                        obj->dtor(obj->object, handle TSRMLS_CC);
                                }
                        }

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to