diff options
Diffstat (limited to 'lib/talloc/pytalloc.c')
-rw-r--r-- | lib/talloc/pytalloc.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/talloc/pytalloc.c b/lib/talloc/pytalloc.c index b1f2afb8d5..c45810f44d 100644 --- a/lib/talloc/pytalloc.c +++ b/lib/talloc/pytalloc.c @@ -86,6 +86,17 @@ static PyObject *py_talloc_default_repr(PyObject *obj) type->tp_name, talloc_obj->ptr); } +/** + * Simple dealloc for talloc-wrapping PyObjects + */ +static void py_talloc_dealloc(PyObject* self) +{ + py_talloc_Object *obj = (py_talloc_Object *)self; + assert(talloc_unlink(NULL, obj->talloc_ctx) != -1); + obj->talloc_ctx = NULL; + self->ob_type->tp_free(self); +} + static PyTypeObject TallocObject_Type = { .tp_name = "talloc.Object", .tp_basicsize = sizeof(py_talloc_Object), |