Brett Simmers
Brett Simmers
I realized while writing up an explanation of my changes that the commit I just pushed isn't quite right. I changed `drop_gil()` to always take a non-NULL `tstate` by adding...
This should be ready now - I updated the description to reflect the changes.
ASAN failure looks like I need to move the write to `holds_gil` after the `_PyThreadState_MustExit()` check.
The ASAN issue should be fixed. I also remembered that the only reason I split out `drop_gil_impl()` was so that I could call the meat of `drop_gil()` after the GIL...
(moved from the issue where I accidentally posted this) `test_importlib` got stuck in the [tsan build](https://github.com/python/cpython/actions/runs/9023163280/job/24794473299) again, which this should've fixed. I'll see what I can figure out.
> I think there's an issue with `FORCE_SWITCHING` and the dynamic enabling of the GIL Thanks, good catch. I should probably pull `drop_gil_impl()` back out for use by `_PyEval_DisableGIL()` then....
The commit I just pushed should address the `FORCE_SWITCHING` issue by reverting my `drop_gil_impl()` change. I also added a line to clear `_PY_GIL_DROP_REQUEST_BIT` when disabling the GIL, so that thread...
@ericsnowcurrently will you have time to take a look today?