https://github.com/python/cpython/commit/d42178a811d05c0ad3623034a12ff018a07e7ec7 commit: d42178a811d05c0ad3623034a12ff018a07e7ec7 branch: main author: arrmansa <[email protected]> committer: ZeroIntensity <[email protected]> date: 2026-10-19T19:20:07Z summary:
gh-114150: Clarify that `ctypes.PYFUNCTYPE` can release the GIL during the call (GH-114151) Co-authored-by: Peter Bierma <[email protected]> files: M Doc/library/ctypes.rst diff --git a/Doc/library/ctypes.rst b/Doc/library/ctypes.rst index 5f305475b5e633..ebc0b6b2f0d5de 100644 --- a/Doc/library/ctypes.rst +++ b/Doc/library/ctypes.rst @@ -2052,7 +2052,11 @@ See :ref:`ctypes-callback-functions` for examples. .. function:: PYFUNCTYPE(restype, *argtypes) The returned function prototype creates functions that use the Python calling - convention. The function will *not* release the GIL during the call. + convention. Unlike :func:`CFUNCTYPE` and :func:`WINFUNCTYPE`, ctypes does + *not* release the GIL before calling the foreign function, so the function + may safely use the Python C API. Note that this does not prevent the GIL + from being released *during* the call. + Function prototypes created by these factory functions can be instantiated in different ways, depending on the type and number of the parameters in the call: _______________________________________________ Python-checkins mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3//lists/python-checkins.python.org Member address: [email protected]
