summaryrefslogtreecommitdiff
path: root/Cython/Compiler/ModuleNode.py
diff options
context:
space:
mode:
Diffstat (limited to 'Cython/Compiler/ModuleNode.py')
-rw-r--r--Cython/Compiler/ModuleNode.py10
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)