diff options
author | Stefan Behnel <stefan_ml@behnel.de> | 2013-01-04 07:36:45 +0100 |
---|---|---|
committer | Stefan Behnel <stefan_ml@behnel.de> | 2013-01-04 07:36:45 +0100 |
commit | 8c941d9d301abf254e25380355dff7ba7a9ae18a (patch) | |
tree | 2d70b7f5642080b7fe241b19d721f366d2446ce9 /Cython/Compiler/ModuleNode.py | |
parent | 51f3877ee1c4919f3cd570812aef884d913328bb (diff) | |
download | cython-8c941d9d301abf254e25380355dff7ba7a9ae18a.tar.gz |
make cleanup safety fix more explicit
Diffstat (limited to 'Cython/Compiler/ModuleNode.py')
-rw-r--r-- | Cython/Compiler/ModuleNode.py | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/Cython/Compiler/ModuleNode.py b/Cython/Compiler/ModuleNode.py index 99b4b4fe9..2a472771a 100644 --- a/Cython/Compiler/ModuleNode.py +++ b/Cython/Compiler/ModuleNode.py @@ -2010,24 +2010,25 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode): for entry in rev_entries: if entry.visibility != 'extern': if entry.type.is_pyobject and entry.used: - code.put_decref_clear(entry.cname, - entry.type, - clear_before_decref=True, - nanny=False) + code.put_xdecref_clear( + entry.cname, entry.type, + clear_before_decref=True, + nanny=False) code.putln("__Pyx_CleanupGlobals();") if Options.generate_cleanup_code >= 3: code.putln("/*--- Type import cleanup code ---*/") - for type, _ in env.types_imported.items(): - code.put_decref_clear(type.typeptr_cname, type, - clear_before_decref=True, - nanny=False) + for type in env.types_imported: + code.put_xdecref_clear( + type.typeptr_cname, type, + clear_before_decref=True, + nanny=False) if Options.cache_builtins: code.putln("/*--- Builtin cleanup code ---*/") for entry in env.cached_builtins: - code.put_decref_clear(entry.cname, - PyrexTypes.py_object_type, - clear_before_decref=True, - nanny=False) + code.put_xdecref_clear( + entry.cname, PyrexTypes.py_object_type, + clear_before_decref=True, + nanny=False) code.putln("/*--- Intern cleanup code ---*/") code.put_decref_clear(Naming.empty_tuple, PyrexTypes.py_object_type, |