From 050b0cf2081e67756bb922d74ac2bfd95f3f9c7d Mon Sep 17 00:00:00 2001 From: Mohamed Koubaa Date: Tue, 8 Sep 2020 20:39:20 -0500 Subject: [PATCH 1/3] multi-phase init --- Modules/_scproxy.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/Modules/_scproxy.c b/Modules/_scproxy.c index dbee3f7367edeb..29dc08f0289120 100644 --- a/Modules/_scproxy.c +++ b/Modules/_scproxy.c @@ -231,21 +231,18 @@ static PyMethodDef mod_methods[] = { { 0, 0, 0, 0 } }; +static PyModuleDef_Slot _scproxy_slots[] = { + {0, NULL} +}; - -static struct PyModuleDef mod_module = { +static struct PyModuleDef _scproxy_module = { PyModuleDef_HEAD_INIT, - "_scproxy", - NULL, - -1, - mod_methods, - NULL, - NULL, - NULL, - NULL + .m_name = "_scproxy", + .m_size = -1, + .m_methods = mod_methods, + .m_slots = _scproxy_slots, }; - #ifdef __cplusplus extern "C" { #endif @@ -253,7 +250,7 @@ extern "C" { PyMODINIT_FUNC PyInit__scproxy(void) { - return PyModule_Create(&mod_module); + return PyModuleDef_Init(&_scproxy_module); } #ifdef __cplusplus From 325af507c57123f6eda55ccac0910ea244366072 Mon Sep 17 00:00:00 2001 From: Mohamed Koubaa Date: Tue, 8 Sep 2020 20:39:48 -0500 Subject: [PATCH 2/3] blurb --- .../2020-09-08-20-39-43.bpo-1635741.jiXmyT.rst | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2020-09-08-20-39-43.bpo-1635741.jiXmyT.rst 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 00000000000000..17752b2ccd3fad --- /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`). From de604d24dbcb4889f28d020a8cacc981c6ee3a01 Mon Sep 17 00:00:00 2001 From: Mohamed Koubaa Date: Tue, 8 Sep 2020 21:07:40 -0500 Subject: [PATCH 3/3] Update Modules/_scproxy.c Co-authored-by: Dong-hee Na --- Modules/_scproxy.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Modules/_scproxy.c b/Modules/_scproxy.c index 29dc08f0289120..4c1f1aa300c717 100644 --- a/Modules/_scproxy.c +++ b/Modules/_scproxy.c @@ -238,7 +238,7 @@ static PyModuleDef_Slot _scproxy_slots[] = { static struct PyModuleDef _scproxy_module = { PyModuleDef_HEAD_INIT, .m_name = "_scproxy", - .m_size = -1, + .m_size = 0, .m_methods = mod_methods, .m_slots = _scproxy_slots, }; @@ -256,4 +256,3 @@ PyInit__scproxy(void) #ifdef __cplusplus } #endif -