diff options
| author | Hai Shi <shihai1992@gmail.com> | 2020-02-17 21:50:35 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-02-17 14:50:35 +0100 |
| commit | 4c1b6a6f4fc46add0097efb3026cf3f0c89f88a2 (patch) | |
| tree | 2f964a6e1ad16ff2bc7662f83b0f7f8ed09136fc /Modules/_abc.c | |
| parent | 7d7956833cc37a9d42807cbfeb7dcc041970f579 (diff) | |
| download | cpython-git-4c1b6a6f4fc46add0097efb3026cf3f0c89f88a2.tar.gz | |
bpo-1635741: Port _abc extension to multiphase initialization (PEP 489) (GH-18030)
Diffstat (limited to 'Modules/_abc.c')
| -rw-r--r-- | Modules/_abc.c | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/Modules/_abc.c b/Modules/_abc.c index e21fe782d0..c991295d31 100644 --- a/Modules/_abc.c +++ b/Modules/_abc.c @@ -807,26 +807,35 @@ static struct PyMethodDef module_functions[] = { {NULL, NULL} /* sentinel */ }; +static int +_abc_exec(PyObject *module) +{ + if (PyType_Ready(&_abc_data_type) < 0) { + return -1; + } + _abc_data_type.tp_doc = abc_data_doc; + return 0; +} + +static PyModuleDef_Slot _abc_slots[] = { + {Py_mod_exec, _abc_exec}, + {0, NULL} +}; + static struct PyModuleDef _abcmodule = { PyModuleDef_HEAD_INIT, "_abc", _abc__doc__, - -1, + 0, module_functions, - NULL, + _abc_slots, NULL, NULL, NULL }; - PyMODINIT_FUNC PyInit__abc(void) { - if (PyType_Ready(&_abc_data_type) < 0) { - return NULL; - } - _abc_data_type.tp_doc = abc_data_doc; - - return PyModule_Create(&_abcmodule); + return PyModuleDef_Init(&_abcmodule); } |
