Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion Lib/test/test_code.py
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@
ctypes = None
from test.support import (cpython_only,
check_impl_detail, requires_debug_ranges,
gc_collect, Py_GIL_DISABLED)
gc_collect, Py_GIL_DISABLED, late_deletion)
from test.support.script_helper import assert_python_ok
from test.support import threading_helper, import_helper
from test.support.bytecode_helper import instructions_with_positions
Expand Down Expand Up @@ -1555,6 +1555,11 @@ def myfree(ptr):

FREE_FUNC = freefunc(myfree)
FREE_INDEX = RequestCodeExtraIndex(FREE_FUNC)
# Make sure myfree sticks around at least as long as the interpreter,
# since we (currently) can't unregister the function and leaving a
# dangling pointer will cause a crash on deallocation of code objects if
# something else uses co_extras, like test_capi.test_misc.
late_deletion(myfree)

class CoExtra(unittest.TestCase):
def get_func(self):
Expand Down
Loading