deferred obj deletion bit

I've no idea whether there are any cases where this matters.
This commit is contained in:
PatR
2024-05-09 14:17:43 -07:00
parent 9994f186ec
commit ec016f9956

View File

@@ -2702,6 +2702,12 @@ dealloc_obj(struct obj *obj)
if (obj == gk.kickedobj)
gk.kickedobj = 0;
/* if obj came from the most recent splitobj(), it's no longer eligible
for unsplitobj(); perform inline clear_splitobjs() */
if (obj->o_id == gc.context.objsplit.parent_oid
|| obj->o_id == gc.context.objsplit.child_oid)
gc.context.objsplit.parent_oid = gc.context.objsplit.child_oid = 0;
if (obj->lua_ref_cnt) {
/* obj is referenced from a lua script, let lua gc free it */
obj->where = OBJ_LUAFREE;