Use multi-phase initialization

This commit is contained in:
Andrew Murray 2025-05-28 23:50:18 +10:00
parent 5a04b9581b
commit 5000c83bcc
8 changed files with 80 additions and 108 deletions

View File

@ -881,26 +881,22 @@ setup_module(PyObject *m) {
return 0;
}
static PyModuleDef_Slot slots[] = {
{Py_mod_exec, setup_module},
#ifdef Py_GIL_DISABLED
{Py_mod_gil, Py_MOD_GIL_NOT_USED},
#endif
{0, NULL}
};
PyMODINIT_FUNC
PyInit__avif(void) {
PyObject *m;
static PyModuleDef module_def = {
PyModuleDef_HEAD_INIT,
.m_name = "_avif",
.m_size = -1,
.m_methods = avifMethods,
.m_slots = slots
};
m = PyModule_Create(&module_def);
if (setup_module(m) < 0) {
Py_DECREF(m);
return NULL;
}
#ifdef Py_GIL_DISABLED
PyUnstable_Module_SetGIL(m, Py_MOD_GIL_NOT_USED);
#endif
return m;
return PyModuleDef_Init(&module_def);
}

View File

@ -4460,27 +4460,22 @@ setup_module(PyObject *m) {
return 0;
}
static PyModuleDef_Slot slots[] = {
{Py_mod_exec, setup_module},
#ifdef Py_GIL_DISABLED
{Py_mod_gil, Py_MOD_GIL_NOT_USED},
#endif
{0, NULL}
};
PyMODINIT_FUNC
PyInit__imaging(void) {
PyObject *m;
static PyModuleDef module_def = {
PyModuleDef_HEAD_INIT,
.m_name = "_imaging",
.m_size = -1,
.m_methods = functions,
.m_slots = slots
};
m = PyModule_Create(&module_def);
if (setup_module(m) < 0) {
Py_DECREF(m);
return NULL;
}
#ifdef Py_GIL_DISABLED
PyUnstable_Module_SetGIL(m, Py_MOD_GIL_NOT_USED);
#endif
return m;
return PyModuleDef_Init(&module_def);
}

View File

@ -1463,28 +1463,24 @@ setup_module(PyObject *m) {
return 0;
}
static PyModuleDef_Slot slots[] = {
{Py_mod_exec, setup_module},
#ifdef Py_GIL_DISABLED
{Py_mod_gil, Py_MOD_GIL_NOT_USED},
#endif
{0, NULL}
};
PyMODINIT_FUNC
PyInit__imagingcms(void) {
PyObject *m;
PyDateTime_IMPORT;
static PyModuleDef module_def = {
PyModuleDef_HEAD_INIT,
.m_name = "_imagingcms",
.m_size = -1,
.m_methods = pyCMSdll_methods,
.m_slots = slots
};
m = PyModule_Create(&module_def);
if (setup_module(m) < 0) {
return NULL;
}
PyDateTime_IMPORT;
#ifdef Py_GIL_DISABLED
PyUnstable_Module_SetGIL(m, Py_MOD_GIL_NOT_USED);
#endif
return m;
return PyModuleDef_Init(&module_def);
}

View File

@ -1599,26 +1599,22 @@ setup_module(PyObject *m) {
return 0;
}
static PyModuleDef_Slot slots[] = {
{Py_mod_exec, setup_module},
#ifdef Py_GIL_DISABLED
{Py_mod_gil, Py_MOD_GIL_NOT_USED},
#endif
{0, NULL}
};
PyMODINIT_FUNC
PyInit__imagingft(void) {
PyObject *m;
static PyModuleDef module_def = {
PyModuleDef_HEAD_INIT,
.m_name = "_imagingft",
.m_size = -1,
.m_methods = _functions,
.m_slots = slots
};
m = PyModule_Create(&module_def);
if (setup_module(m) < 0) {
return NULL;
}
#ifdef Py_GIL_DISABLED
PyUnstable_Module_SetGIL(m, Py_MOD_GIL_NOT_USED);
#endif
return m;
return PyModuleDef_Init(&module_def);
}

View File

@ -302,26 +302,22 @@ setup_module(PyObject *m) {
return 0;
}
static PyModuleDef_Slot slots[] = {
{Py_mod_exec, setup_module},
#ifdef Py_GIL_DISABLED
{Py_mod_gil, Py_MOD_GIL_NOT_USED},
#endif
{0, NULL}
};
PyMODINIT_FUNC
PyInit__imagingmath(void) {
PyObject *m;
static PyModuleDef module_def = {
PyModuleDef_HEAD_INIT,
.m_name = "_imagingmath",
.m_size = -1,
.m_methods = _functions,
.m_slots = slots
};
m = PyModule_Create(&module_def);
if (setup_module(m) < 0) {
return NULL;
}
#ifdef Py_GIL_DISABLED
PyUnstable_Module_SetGIL(m, Py_MOD_GIL_NOT_USED);
#endif
return m;
return PyModuleDef_Init(&module_def);
}

View File

@ -246,23 +246,22 @@ static PyMethodDef functions[] = {
{NULL, NULL, 0, NULL}
};
static PyModuleDef_Slot slots[] = {
#ifdef Py_GIL_DISABLED
{Py_mod_gil, Py_MOD_GIL_NOT_USED},
#endif
{0, NULL}
};
PyMODINIT_FUNC
PyInit__imagingmorph(void) {
PyObject *m;
static PyModuleDef module_def = {
PyModuleDef_HEAD_INIT,
.m_name = "_imagingmorph",
.m_doc = "A module for doing image morphology",
.m_size = -1,
.m_methods = functions,
.m_slots = slots
};
m = PyModule_Create(&module_def);
#ifdef Py_GIL_DISABLED
PyUnstable_Module_SetGIL(m, Py_MOD_GIL_NOT_USED);
#endif
return m;
return PyModuleDef_Init(&module_def);
}

View File

@ -46,24 +46,22 @@ static PyMethodDef functions[] = {
{NULL, NULL} /* sentinel */
};
static PyModuleDef_Slot slots[] = {
{Py_mod_exec, load_tkinter_funcs},
#ifdef Py_GIL_DISABLED
{Py_mod_gil, Py_MOD_GIL_NOT_USED},
#endif
{0, NULL}
};
PyMODINIT_FUNC
PyInit__imagingtk(void) {
static PyModuleDef module_def = {
PyModuleDef_HEAD_INIT,
.m_name = "_imagingtk",
.m_size = -1,
.m_methods = functions,
.m_slots = slots
};
PyObject *m;
m = PyModule_Create(&module_def);
if (load_tkinter_funcs() != 0) {
Py_DECREF(m);
return NULL;
}
#ifdef Py_GIL_DISABLED
PyUnstable_Module_SetGIL(m, Py_MOD_GIL_NOT_USED);
#endif
return m;
return PyModuleDef_Init(&module_def);
}

View File

@ -777,26 +777,22 @@ setup_module(PyObject *m) {
return 0;
}
static PyModuleDef_Slot slots[] = {
{Py_mod_exec, setup_module},
#ifdef Py_GIL_DISABLED
{Py_mod_gil, Py_MOD_GIL_NOT_USED},
#endif
{0, NULL}
};
PyMODINIT_FUNC
PyInit__webp(void) {
PyObject *m;
static PyModuleDef module_def = {
PyModuleDef_HEAD_INIT,
.m_name = "_webp",
.m_size = -1,
.m_methods = webpMethods,
.m_slots = slots
};
m = PyModule_Create(&module_def);
if (setup_module(m) < 0) {
Py_DECREF(m);
return NULL;
}
#ifdef Py_GIL_DISABLED
PyUnstable_Module_SetGIL(m, Py_MOD_GIL_NOT_USED);
#endif
return m;
return PyModuleDef_Init(&module_def);
}