Open
Description
in particular use of loader_life_support
seems problematic. This function keeps state in the global loader_patient_stack
:
pybind11/include/pybind11/detail/internals.h
Line 105 in b7dfe5c
loader_patient_stack
can become interleaved.
While releasing the GIL in a conversion seems like a bad idea, it can be surprisingly hard to avoid. Any cast that results in the bytecode interpreter being run (either directly or through something like a __del__
method) can cause python itself to release GIL (sys.setswitchinterval
).