File tree Expand file tree Collapse file tree 7 files changed +31
-4
lines changed
Filter options
Expand file tree Collapse file tree 7 files changed +31
-4
lines changed
Original file line number Diff line number Diff line change @@ -49,15 +49,21 @@ static PyMethodDef module_methods[] = {
49
49
{NULL , NULL , 0 , NULL } // Sentinel
50
50
};
51
51
52
+ static PyModuleDef_Slot module_slots [] = {
53
+ {Py_mod_multiple_interpreters , Py_MOD_MULTIPLE_INTERPRETERS_NOT_SUPPORTED },
54
+ {Py_mod_gil , Py_MOD_GIL_NOT_USED },
55
+ {0 , NULL },
56
+ };
57
+
52
58
static struct PyModuleDef suggestions_module = {
53
59
PyModuleDef_HEAD_INIT ,
54
60
"_suggestions" ,
55
61
NULL ,
56
- -1 ,
57
- module_methods
62
+ 0 ,
63
+ module_methods ,
64
+ module_slots ,
58
65
};
59
66
60
67
PyMODINIT_FUNC PyInit__suggestions (void ) {
61
- return PyModule_Create (& suggestions_module );
68
+ return PyModuleDef_Init (& suggestions_module );
62
69
}
63
-
Original file line number Diff line number Diff line change 12
12
#include <Python.h>
13
13
14
14
static PyModuleDef_Slot shared_slots [] = {
15
+ {Py_mod_multiple_interpreters , Py_MOD_MULTIPLE_INTERPRETERS_NOT_SUPPORTED },
15
16
{Py_mod_gil , Py_MOD_GIL_NOT_USED },
16
17
{0 , NULL },
17
18
};
Original file line number Diff line number Diff line change @@ -900,6 +900,9 @@ PyInit__test_module_state_shared(void)
900
900
if (module == NULL ) {
901
901
return NULL ;
902
902
}
903
+ #ifdef Py_GIL_DISABLED
904
+ PyModule_ExperimentalSetGIL (module , Py_MOD_GIL_NOT_USED );
905
+ #endif
903
906
904
907
if (PyModule_AddObjectRef (module , "Error" , PyExc_Exception ) < 0 ) {
905
908
Py_DECREF (module );
@@ -932,6 +935,7 @@ PyInit__testmultiphase_multiple_multiple_interpreters_slots(void)
932
935
static PyModuleDef_Slot non_isolated_slots [] = {
933
936
{Py_mod_exec , execfunc },
934
937
{Py_mod_multiple_interpreters , Py_MOD_MULTIPLE_INTERPRETERS_NOT_SUPPORTED },
938
+ {Py_mod_gil , Py_MOD_GIL_NOT_USED },
935
939
{0 , NULL },
936
940
};
937
941
@@ -952,6 +956,7 @@ static PyModuleDef_Slot shared_gil_only_slots[] = {
952
956
We put it here explicitly to draw attention to the contrast
953
957
with Py_MOD_PER_INTERPRETER_GIL_SUPPORTED. */
954
958
{Py_mod_multiple_interpreters , Py_MOD_MULTIPLE_INTERPRETERS_SUPPORTED },
959
+ {Py_mod_gil , Py_MOD_GIL_NOT_USED },
955
960
{0 , NULL },
956
961
};
957
962
Original file line number Diff line number Diff line change @@ -399,6 +399,9 @@ PyInit__testsinglephase_with_reinit(void)
399
399
if (module == NULL ) {
400
400
return NULL ;
401
401
}
402
+ #ifdef Py_GIL_DISABLED
403
+ PyModule_ExperimentalSetGIL (module , Py_MOD_GIL_NOT_USED );
404
+ #endif
402
405
403
406
assert (get_module_state (module ) == NULL );
404
407
@@ -461,6 +464,9 @@ PyInit__testsinglephase_with_state(void)
461
464
if (module == NULL ) {
462
465
return NULL ;
463
466
}
467
+ #ifdef Py_GIL_DISABLED
468
+ PyModule_ExperimentalSetGIL (module , Py_MOD_GIL_NOT_USED );
469
+ #endif
464
470
465
471
module_state * state = get_module_state (module );
466
472
assert (state != NULL );
Original file line number Diff line number Diff line change @@ -219,6 +219,9 @@ PyInit__tracemalloc(void)
219
219
m = PyModule_Create (& module_def );
220
220
if (m == NULL )
221
221
return NULL ;
222
+ #ifdef Py_GIL_DISABLED
223
+ PyModule_ExperimentalSetGIL (m , Py_MOD_GIL_NOT_USED );
224
+ #endif
222
225
223
226
if (_PyTraceMalloc_Init () < 0 ) {
224
227
Py_DECREF (m );
Original file line number Diff line number Diff line change @@ -3124,6 +3124,9 @@ _PyBuiltin_Init(PyInterpreterState *interp)
3124
3124
mod = _PyModule_CreateInitialized (& builtinsmodule , PYTHON_API_VERSION );
3125
3125
if (mod == NULL )
3126
3126
return NULL ;
3127
+ #ifdef Py_GIL_DISABLED
3128
+ PyModule_ExperimentalSetGIL (mod , Py_MOD_GIL_NOT_USED );
3129
+ #endif
3127
3130
dict = PyModule_GetDict (mod );
3128
3131
3129
3132
#ifdef Py_TRACE_REFS
Original file line number Diff line number Diff line change @@ -3740,6 +3740,9 @@ _PySys_Create(PyThreadState *tstate, PyObject **sysmod_p)
3740
3740
if (sysmod == NULL ) {
3741
3741
return _PyStatus_ERR ("failed to create a module object" );
3742
3742
}
3743
+ #ifdef Py_GIL_DISABLED
3744
+ PyModule_ExperimentalSetGIL (sysmod , Py_MOD_GIL_NOT_USED );
3745
+ #endif
3743
3746
3744
3747
PyObject * sysdict = PyModule_GetDict (sysmod );
3745
3748
if (sysdict == NULL ) {
You can’t perform that action at this time.
0 commit comments