diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-02-07-12-57-40.bpo-1635741.ySW6gq.rst b/Misc/NEWS.d/next/Core and Builtins/2020-02-07-12-57-40.bpo-1635741.ySW6gq.rst new file mode 100644 index 00000000000..6b35bdc474f --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2020-02-07-12-57-40.bpo-1635741.ySW6gq.rst @@ -0,0 +1 @@ +Port _crypt extension module to multiphase initialization (:pep:`489`). \ No newline at end of file diff --git a/Modules/_cryptmodule.c b/Modules/_cryptmodule.c index 00c1f4f6984..a95f55a63c3 100644 --- a/Modules/_cryptmodule.c +++ b/Modules/_cryptmodule.c @@ -54,14 +54,17 @@ static PyMethodDef crypt_methods[] = { {NULL, NULL} /* sentinel */ }; +static PyModuleDef_Slot _crypt_slots[] = { + {0, NULL} +}; static struct PyModuleDef cryptmodule = { PyModuleDef_HEAD_INIT, "_crypt", NULL, - -1, + 0, crypt_methods, - NULL, + _crypt_slots, NULL, NULL, NULL @@ -70,5 +73,5 @@ static struct PyModuleDef cryptmodule = { PyMODINIT_FUNC PyInit__crypt(void) { - return PyModule_Create(&cryptmodule); + return PyModuleDef_Init(&cryptmodule); }