diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-09-08-20-39-43.bpo-1635741.jiXmyT.rst b/Misc/NEWS.d/next/Core and Builtins/2020-09-08-20-39-43.bpo-1635741.jiXmyT.rst new file mode 100644 index 00000000000..17752b2ccd3 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2020-09-08-20-39-43.bpo-1635741.jiXmyT.rst @@ -0,0 +1,2 @@ +Port the :mod:`_scproxy` extension module to multi-phase initialization +(:pep:`489`). diff --git a/Modules/_scproxy.c b/Modules/_scproxy.c index dbee3f7367e..4c1f1aa300c 100644 --- a/Modules/_scproxy.c +++ b/Modules/_scproxy.c @@ -231,20 +231,17 @@ static PyMethodDef mod_methods[] = { { 0, 0, 0, 0 } }; - - -static struct PyModuleDef mod_module = { - PyModuleDef_HEAD_INIT, - "_scproxy", - NULL, - -1, - mod_methods, - NULL, - NULL, - NULL, - NULL +static PyModuleDef_Slot _scproxy_slots[] = { + {0, NULL} }; +static struct PyModuleDef _scproxy_module = { + PyModuleDef_HEAD_INIT, + .m_name = "_scproxy", + .m_size = 0, + .m_methods = mod_methods, + .m_slots = _scproxy_slots, +}; #ifdef __cplusplus extern "C" { @@ -253,10 +250,9 @@ extern "C" { PyMODINIT_FUNC PyInit__scproxy(void) { - return PyModule_Create(&mod_module); + return PyModuleDef_Init(&_scproxy_module); } #ifdef __cplusplus } #endif -