Skip to content

Commit

Permalink
bpo-1635741: Port fcntl module to multiphase initialization (pythonGH…
Browse files Browse the repository at this point in the history
  • Loading branch information
corona10 authored Jun 1, 2020
1 parent c896666 commit e9684fa
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 22 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Port :mod:`fcntl` to multiphase initialization.
41 changes: 19 additions & 22 deletions Modules/fcntlmodule.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

0 comments on commit e9684fa

Please sign in to comment.