diff options
author | Benjamin Peterson <benjamin@python.org> | 2012-03-15 02:50:29 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2012-03-15 02:50:29 (GMT) |
commit | 1767e0274bf68a01cf8ce48905f1e59532013928 (patch) | |
tree | c780cff07e6ec961b23a46bf0954c4916f4a32b2 | |
parent | 4775def25d5f7428d83c3ea15055f27178f3daf3 (diff) | |
download | cpython-1767e0274bf68a01cf8ce48905f1e59532013928.zip cpython-1767e0274bf68a01cf8ce48905f1e59532013928.tar.gz cpython-1767e0274bf68a01cf8ce48905f1e59532013928.tar.bz2 |
free AST's dict
-rwxr-xr-x | Parser/asdl_c.py | 8 | ||||
-rw-r--r-- | Python/Python-ast.c | 8 |
2 files changed, 14 insertions, 2 deletions
diff --git a/Parser/asdl_c.py b/Parser/asdl_c.py index 0be6c7f..81a3d6a 100755 --- a/Parser/asdl_c.py +++ b/Parser/asdl_c.py @@ -608,6 +608,12 @@ typedef struct { PyObject *dict; } AST_object; +static void +ast_dealloc(AST_object *self) +{ + Py_CLEAR(self->dict); +} + static int ast_type_init(PyObject *self, PyObject *args, PyObject *kw) { @@ -696,7 +702,7 @@ static PyTypeObject AST_type = { "_ast.AST", sizeof(AST_object), 0, - 0, /* tp_dealloc */ + (destructor)ast_dealloc, /* tp_dealloc */ 0, /* tp_print */ 0, /* tp_getattr */ 0, /* tp_setattr */ diff --git a/Python/Python-ast.c b/Python/Python-ast.c index 1178d74..d9e13e2 100644 --- a/Python/Python-ast.c +++ b/Python/Python-ast.c @@ -460,6 +460,12 @@ typedef struct { PyObject *dict; } AST_object; +static void +ast_dealloc(AST_object *self) +{ + Py_CLEAR(self->dict); +} + static int ast_type_init(PyObject *self, PyObject *args, PyObject *kw) { @@ -548,7 +554,7 @@ static PyTypeObject AST_type = { "_ast.AST", sizeof(AST_object), 0, - 0, /* tp_dealloc */ + (destructor)ast_dealloc, /* tp_dealloc */ 0, /* tp_print */ 0, /* tp_getattr */ 0, /* tp_setattr */ |