mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-22 05:05:11 +00:00
Revert "Fix a memory leak when creating Python3 modules. (#2019)"
This reverts commit 819802da99
.
This commit is contained in:
parent
819802da99
commit
fb910ae92b
@ -794,16 +794,11 @@ public:
|
|||||||
explicit module(const char *name, const char *doc = nullptr) {
|
explicit module(const char *name, const char *doc = nullptr) {
|
||||||
if (!options::show_user_defined_docstrings()) doc = nullptr;
|
if (!options::show_user_defined_docstrings()) doc = nullptr;
|
||||||
#if PY_MAJOR_VERSION >= 3
|
#if PY_MAJOR_VERSION >= 3
|
||||||
PyModuleDef *def = PyMem_New(PyModuleDef, 1);
|
PyModuleDef *def = new PyModuleDef();
|
||||||
std::memset(def, 0, sizeof(PyModuleDef));
|
std::memset(def, 0, sizeof(PyModuleDef));
|
||||||
def->m_name = name;
|
def->m_name = name;
|
||||||
def->m_doc = doc;
|
def->m_doc = doc;
|
||||||
def->m_size = -1;
|
def->m_size = -1;
|
||||||
def->m_free = [](void* module ) {
|
|
||||||
if (module != nullptr) {
|
|
||||||
Py_XDECREF(PyModule_GetDef((PyObject*) module));
|
|
||||||
}
|
|
||||||
};
|
|
||||||
Py_INCREF(def);
|
Py_INCREF(def);
|
||||||
m_ptr = PyModule_Create(def);
|
m_ptr = PyModule_Create(def);
|
||||||
#else
|
#else
|
||||||
|
Loading…
Reference in New Issue
Block a user