From 5682cf4b934bd86530c100c3e79e6a2aad46819a Mon Sep 17 00:00:00 2001 From: Donghee Na Date: Sun, 19 Nov 2023 08:41:33 +0900 Subject: [PATCH] gh-111903: Update AC to support "pycore_critical_section.h" header --- Modules/_functoolsmodule.c | 1 - Modules/_io/bufferedio.c | 1 - Modules/_io/clinic/bufferedio.c.h | 3 ++- Modules/clinic/_functoolsmodule.c.h | 3 ++- Tools/clinic/clinic.py | 2 ++ 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Modules/_functoolsmodule.c b/Modules/_functoolsmodule.c index 2592c4d7f756316..9ab847165dc0970 100644 --- a/Modules/_functoolsmodule.c +++ b/Modules/_functoolsmodule.c @@ -1,6 +1,5 @@ #include "Python.h" #include "pycore_call.h" // _PyObject_CallNoArgs() -#include "pycore_critical_section.h" // Py_BEGIN_CRITICAL_SECTION #include "pycore_dict.h" // _PyDict_Pop_KnownHash() #include "pycore_long.h" // _PyLong_GetZero() #include "pycore_moduleobject.h" // _PyModule_GetState() diff --git a/Modules/_io/bufferedio.c b/Modules/_io/bufferedio.c index 169b2b3d105669e..d7123ab005aa62d 100644 --- a/Modules/_io/bufferedio.c +++ b/Modules/_io/bufferedio.c @@ -10,7 +10,6 @@ #include "Python.h" #include "pycore_bytesobject.h" // _PyBytes_Join() #include "pycore_call.h" // _PyObject_CallNoArgs() -#include "pycore_critical_section.h" // Py_BEGIN_CRITICAL_SECTION() #include "pycore_object.h" // _PyObject_GC_UNTRACK() #include "pycore_pyerrors.h" // _Py_FatalErrorFormat() #include "pycore_pylifecycle.h" // _Py_IsInterpreterFinalizing() diff --git a/Modules/_io/clinic/bufferedio.c.h b/Modules/_io/clinic/bufferedio.c.h index 3fe03506b6cfa5c..dd2fbb403c4a28c 100644 --- a/Modules/_io/clinic/bufferedio.c.h +++ b/Modules/_io/clinic/bufferedio.c.h @@ -7,6 +7,7 @@ preserve # include "pycore_runtime.h" // _Py_ID() #endif #include "pycore_abstract.h" // _PyNumber_Index() +#include "pycore_critical_section.h"// Py_BEGIN_CRITICAL_SECTION() #include "pycore_modsupport.h" // _PyArg_BadArgument() PyDoc_STRVAR(_io__BufferedIOBase_readinto__doc__, @@ -1081,4 +1082,4 @@ _io_BufferedRandom___init__(PyObject *self, PyObject *args, PyObject *kwargs) exit: return return_value; } -/*[clinic end generated code: output=b23847480eba3d9b input=a9049054013a1b77]*/ +/*[clinic end generated code: output=2d5f735188df3163 input=a9049054013a1b77]*/ diff --git a/Modules/clinic/_functoolsmodule.c.h b/Modules/clinic/_functoolsmodule.c.h index 11fe0439c08a5e1..e98984dc4d3a09a 100644 --- a/Modules/clinic/_functoolsmodule.c.h +++ b/Modules/clinic/_functoolsmodule.c.h @@ -6,6 +6,7 @@ preserve # include "pycore_gc.h" // PyGC_Head # include "pycore_runtime.h" // _Py_ID() #endif +#include "pycore_critical_section.h"// Py_BEGIN_CRITICAL_SECTION() #include "pycore_modsupport.h" // _PyArg_UnpackKeywords() PyDoc_STRVAR(_functools_cmp_to_key__doc__, @@ -113,4 +114,4 @@ _functools__lru_cache_wrapper_cache_clear(PyObject *self, PyObject *Py_UNUSED(ig return return_value; } -/*[clinic end generated code: output=5e3207fa0d28cdb1 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=755265bb6d5ea751 input=a9049054013a1b77]*/ diff --git a/Tools/clinic/clinic.py b/Tools/clinic/clinic.py index f9326c1b2ca6356..53e0b611f4fb069 100755 --- a/Tools/clinic/clinic.py +++ b/Tools/clinic/clinic.py @@ -5306,6 +5306,8 @@ def at_critical_section(self, *args: str) -> None: fail("Up to 2 critical section variables are supported") self.target_critical_section.extend(args) self.critical_section = True + if self.critical_section: + clinic.add_include('pycore_critical_section.h', 'Py_BEGIN_CRITICAL_SECTION()') def at_staticmethod(self) -> None: if self.kind is not CALLABLE: