-
-
Notifications
You must be signed in to change notification settings - Fork 33.5k
gh-141780: Make PyModule_FromSlotsAndSpec enable GIL if needed #141785
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| import tempfile | ||
| import types | ||
|
|
||
| _testsinglephase = import_helper.import_module("_testsinglephase") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
_testsinglephase is unusable in subinterpreters.
|
🤖 New build scheduled with the buildbot fleet by @encukou for commit 5b8b87c 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F141785%2Fmerge If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again. |
colesbury
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Co-authored-by: Sam Gross <colesbury@gmail.com>
We don't need to enable GIL for the
PyModExport_function, which is supposed to do as little as possible before returning a static array.Py_MOD_GIL_USEDcan be handled at module creation time, without enabling it transiently first.The main difference from
PyModuleDef(i.e.import.c'simport_run_extension) is that hePy_mod_createfunction runs without the GIL enabled transiently. (It does run with GIL enabled permanently ifPy_MOD_GIL_USEDis specified -- same as thePy_mod_execfunction, which always runs after the EnableGILTransient block.)Also, if
Py_mod_createmakes a non-module object,Py_mod_gilis honored.@colesbury, does this look OK?
(The first commit has the change; the next
three7 are tests/docs)