From 0f5d7221238c42e2a41c97cdd40482568e5251d9 Mon Sep 17 00:00:00 2001 From: Stefan Behnel Date: Fri, 12 Nov 2010 08:19:23 +0100 Subject: [PATCH] timely close Cython source file when generating C source comments --- Cython/Compiler/Code.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/Cython/Compiler/Code.py b/Cython/Compiler/Code.py index 1066e9fe..fde29429 100644 --- a/Cython/Compiler/Code.py +++ b/Cython/Compiler/Code.py @@ -759,16 +759,22 @@ class GlobalState(object): try: return self.input_file_contents[source_desc] except KeyError: + pass + source_file = source_desc.get_lines(encoding='ASCII', + error_handling='ignore') + try: F = [u' * ' + line.rstrip().replace( u'*/', u'*[inserted by cython to avoid comment closer]/' ).replace( u'/*', u'/[inserted by cython to avoid comment start]*' ) - for line in source_desc.get_lines(encoding='ASCII', - error_handling='ignore')] - if len(F) == 0: F.append(u'') - self.input_file_contents[source_desc] = F - return F + for line in source_file] + finally: + if hasattr(source_file, 'close'): + source_file.close() + if not F: F.append(u'') + self.input_file_contents[source_desc] = F + return F # # Utility code state -- 2.26.2