summaryrefslogtreecommitdiff
path: root/Zend/zend_objects_API.c
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-03-18 10:04:59 +0100
committerNikita Popov <nikita.ppv@gmail.com>2019-03-18 10:04:59 +0100
commit51ed4a8d8f0e50a182c3697df8242356f80dd460 (patch)
tree17813400f9de179de22828ce12114c581c06b418 /Zend/zend_objects_API.c
parent4b081c27836d5e0a76dc66f9063cb3016de5d559 (diff)
parent61eebb559e6c473aaee91a545c14134969752783 (diff)
downloadphp-git-51ed4a8d8f0e50a182c3697df8242356f80dd460.tar.gz
Merge branch 'PHP-7.3' into PHP-7.4
Diffstat (limited to 'Zend/zend_objects_API.c')
-rw-r--r--Zend/zend_objects_API.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/Zend/zend_objects_API.c b/Zend/zend_objects_API.c
index 9a55b7d153..7c5d44a502 100644
--- a/Zend/zend_objects_API.c
+++ b/Zend/zend_objects_API.c
@@ -41,6 +41,7 @@ ZEND_API void ZEND_FASTCALL zend_objects_store_destroy(zend_objects_store *objec
ZEND_API void ZEND_FASTCALL zend_objects_store_call_destructors(zend_objects_store *objects)
{
+ EG(flags) |= EG_FLAGS_OBJECT_STORE_NO_REUSE;
if (objects->top > 1) {
uint32_t i;
for (i = 1; i < objects->top; i++) {
@@ -140,10 +141,10 @@ ZEND_API void ZEND_FASTCALL zend_objects_store_put(zend_object *object)
{
int handle;
- /* When in shutdown sequesnce - do not reuse previously freed handles, to make sure
+ /* When in shutdown sequence - do not reuse previously freed handles, to make sure
* the dtors for newly created objects are called in zend_objects_store_call_destructors() loop
*/
- if (EG(objects_store).free_list_head != -1 && EXPECTED(!(EG(flags) & EG_FLAGS_IN_SHUTDOWN))) {
+ if (EG(objects_store).free_list_head != -1 && EXPECTED(!(EG(flags) & EG_FLAGS_OBJECT_STORE_NO_REUSE))) {
handle = EG(objects_store).free_list_head;
EG(objects_store).free_list_head = GET_OBJ_BUCKET_NUMBER(EG(objects_store).object_buckets[handle]);
} else if (UNEXPECTED(EG(objects_store).top == EG(objects_store).size)) {