bpo-1635741: Port fcntl module to multiphase initialization (GH-20540)

This commit is contained in:
Dong-hee Na 2020-06-02 01:12:24 +09:00 committed by GitHub
parent c8966667bb
commit e9684fac5a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 22 deletions

View File

@ -0,0 +1 @@
Port :mod:`fcntl` to multiphase initialization.

View File

@ -662,34 +662,31 @@ all_ins(PyObject* m)
return 0;
}
static int
fcntl_exec(PyObject *module)
{
if (all_ins(module) < 0) {
return -1;
}
return 0;
}
static PyModuleDef_Slot fcntl_slots[] = {
{Py_mod_exec, fcntl_exec},
{0, NULL}
};
static struct PyModuleDef fcntlmodule = {
PyModuleDef_HEAD_INIT,
"fcntl",
module_doc,
-1,
fcntl_methods,
NULL,
NULL,
NULL,
NULL
.m_name = "fcntl",
.m_doc = module_doc,
.m_size = 0,
.m_methods = fcntl_methods,
.m_slots = fcntl_slots,
};
PyMODINIT_FUNC
PyInit_fcntl(void)
{
PyObject *m;
/* Create the module and add the functions and documentation */
m = PyModule_Create(&fcntlmodule);
if (m == NULL)
return NULL;
/* Add some symbolic constants to the module */
if (all_ins(m) < 0) {
Py_DECREF(m);
return NULL;
}
return m;
return PyModuleDef_Init(&fcntlmodule);
}