diff options
Diffstat (limited to 'Cython/Compiler/ModuleNode.py')
-rw-r--r-- | Cython/Compiler/ModuleNode.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Cython/Compiler/ModuleNode.py b/Cython/Compiler/ModuleNode.py index 02bac9cbd..8a47766c5 100644 --- a/Cython/Compiler/ModuleNode.py +++ b/Cython/Compiler/ModuleNode.py @@ -346,10 +346,12 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode): globalstate.finalize_main_c_code() f = open_new_file(result.c_file) - rootwriter.copyto(f) - if options.gdb_debug: - self._serialize_lineno_map(env, rootwriter) - f.close() + try: + rootwriter.copyto(f) + if options.gdb_debug: + self._serialize_lineno_map(env, rootwriter) + finally: + f.close() result.c_file_generated = 1 if Options.annotate or options.annotate: self.annotate(rootwriter) |