From ccca015977e421f808a9baeef250e8eda3add3cc Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 25 Jun 2025 22:22:36 +1000 Subject: [PATCH] Use multi-phase initialization --- src/_jpegxl.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/_jpegxl.c b/src/_jpegxl.c index 91df40524..e3396254b 100644 --- a/src/_jpegxl.c +++ b/src/_jpegxl.c @@ -616,22 +616,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__jpegxl(void) { - PyObject *m; - static PyModuleDef module_def = { PyModuleDef_HEAD_INIT, .m_name = "_jpegxl", - .m_size = -1, .m_methods = jpegxlMethods, + .m_slots = slots }; - m = PyModule_Create(&module_def); - if (setup_module(m) < 0) { - Py_DECREF(m); - return NULL; - } - - return m; + return PyModuleDef_Init(&module_def); }