Skip to content

Commit 4d9e5dd

Browse files
committed
Merge branch 'PHP-7.4'
* PHP-7.4: Don't set GC_HAS_DESTRUCTORS flag if destructors were already called Update NEWS for 7.4.0beta3 Update NEWS for PHP 7.4.0beta2
2 parents d6a8a5a + 170a3f8 commit 4d9e5dd

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

Zend/zend_gc.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1151,8 +1151,9 @@ static int gc_collect_white(zend_refcounted *ref, uint32_t *flags, gc_stack *sta
11511151
if (!GC_INFO(ref)) {
11521152
gc_add_garbage(ref);
11531153
}
1154-
if (obj->handlers->dtor_obj != zend_objects_destroy_object ||
1155-
obj->ce->destructor != NULL) {
1154+
if (!(OBJ_FLAGS(obj) & IS_OBJ_DESTRUCTOR_CALLED)
1155+
&& (obj->handlers->dtor_obj != zend_objects_destroy_object
1156+
|| obj->ce->destructor != NULL)) {
11561157
*flags |= GC_HAS_DESTRUCTORS;
11571158
}
11581159
ht = obj->handlers->get_gc(obj, &zv, &n);

0 commit comments

Comments
 (0)