@@ -26,8 +26,12 @@ RAPIDJSON_NAMESPACE_END
2626#define END_PY_GIL
2727#define YGGDRASIL_PYGIL_ALLOW_THREADS_BEGIN_GLOBAL
2828#define YGGDRASIL_PYGIL_ALLOW_THREADS_END_GLOBAL
29+ #ifndef YGGDRASIL_PYGIL_ALLOW_THREADS_BEGIN
2930#define YGGDRASIL_PYGIL_ALLOW_THREADS_BEGIN
31+ #endif
32+ #ifndef YGGDRASIL_PYGIL_ALLOW_THREADS_END
3033#define YGGDRASIL_PYGIL_ALLOW_THREADS_END
34+ #endif
3135#define YGGDRASIL_PYGIL_CRITICAL_BEGIN (name )
3236#define YGGDRASIL_PYGIL_CRITICAL_END ()
3337#else // YGGDRASIL_DISABLE_PYTHON_C_API
@@ -80,17 +84,25 @@ RAPIDJSON_NAMESPACE_BEGIN
8084 CHECK_REFS (cleanup)
8185#define YGGDRASIL_PYGIL_ALLOW_THREADS_BEGIN_GLOBAL
8286#define YGGDRASIL_PYGIL_ALLOW_THREADS_END_GLOBAL
87+ #ifndef YGGDRASIL_PYGIL_ALLOW_THREADS_BEGIN
8388#define YGGDRASIL_PYGIL_ALLOW_THREADS_BEGIN
89+ #endif
90+ #ifndef YGGDRASIL_PYGIL_ALLOW_THREADS_END
8491#define YGGDRASIL_PYGIL_ALLOW_THREADS_END
92+ #endif
8593#define YGGDRASIL_PYGIL_CRITICAL_BEGIN (name )
8694#define YGGDRASIL_PYGIL_CRITICAL_END ()
8795#else // YGGDRASIL_PYGIL_NO_MANAGEMENT
8896#define BEGIN_PY_GIL global_PyGILState ();
8997#define END_PY_GIL global_PyGILState (true );
9098#define YGGDRASIL_PYGIL_ALLOW_THREADS_BEGIN_GLOBAL
9199#define YGGDRASIL_PYGIL_ALLOW_THREADS_END_GLOBAL
100+ #ifndef YGGDRASIL_PYGIL_ALLOW_THREADS_BEGIN
92101#define YGGDRASIL_PYGIL_ALLOW_THREADS_BEGIN global_PyThreadState ();
102+ #endif
103+ #ifndef YGGDRASIL_PYGIL_ALLOW_THREADS_END
93104#define YGGDRASIL_PYGIL_ALLOW_THREADS_END global_PyThreadState (true );
105+ #endif
94106#ifdef Py_BEGIN_CRITICAL_SECTION
95107#define YGGDRASIL_PYGIL_CRITICAL_BEGIN (name ) \
96108 Py_BEGIN_CRITICAL_SECTION (name)
0 commit comments