cvs: ZendEngine2 / zend_objects_API.c
| From: | Andi Gutmans | Date: | Sun, 23 May 2004 20:33:09 +0000 |
| Subject: | cvs: ZendEngine2 / zend_objects_API.c | ||
| Groups: | php.zend-engine.cvs | ||
| Request: | Send a blank email to php-zend-engine-cvs+get-2658@lists.php.net to get a copy of this message | ||
andi Sun May 23 16:33:09 2004 EDT
Modified files:
/ZendEngine2 zend_objects_API.c
Log:
- Fix problem with object being destroyed more than once
http://cvs.php.net/diff.php/ZendEngine2/zend_objects_API.c?r1=1.40&r2=1.41&ty=u
Index: ZendEngine2/zend_objects_API.c
diff -u ZendEngine2/zend_objects_API.c:1.40 ZendEngine2/zend_objects_API.c:1.41
--- ZendEngine2/zend_objects_API.c:1.40 Mon May 17 07:27:16 2004
+++ ZendEngine2/zend_objects_API.c Sun May 23 16:33:09 2004
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_objects_API.c,v 1.40 2004/05/17 11:27:16 wez Exp $ */
+/* $Id: zend_objects_API.c,v 1.41 2004/05/23 20:33:09 andi Exp $ */
#include "zend.h"
#include "zend_globals.h"
@@ -48,10 +48,12 @@
if (objects->object_buckets[i].valid) {
struct _store_object *obj = &objects->object_buckets[i].bucket.obj;
- if (obj->dtor && !objects->object_buckets[i].destructor_called) {
- obj->dtor(obj->object, i TSRMLS_CC);
+ if (!objects->object_buckets[i].destructor_called) {
+ objects->object_buckets[i].destructor_called = 1;
+ if (obj->dtor) {
+ obj->dtor(obj->object, i TSRMLS_CC);
+ }
}
- objects->object_buckets[i].destructor_called = 1;
}
}
}