mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Add try-finally to close the file after loading it in
ModuleLoader.load_module! (Thanks to Daniel Larsson who complained about this.)
This commit is contained in:
parent
6af4abdba0
commit
6dc61b110f
1 changed files with 16 additions and 13 deletions
|
@ -252,6 +252,7 @@ class ModuleLoader(BasicModuleLoader):
|
||||||
|
|
||||||
def load_module(self, name, stuff):
|
def load_module(self, name, stuff):
|
||||||
file, filename, (suff, mode, type) = stuff
|
file, filename, (suff, mode, type) = stuff
|
||||||
|
try:
|
||||||
if type == BUILTIN_MODULE:
|
if type == BUILTIN_MODULE:
|
||||||
return self.hooks.init_builtin(name)
|
return self.hooks.init_builtin(name)
|
||||||
if type == FROZEN_MODULE:
|
if type == FROZEN_MODULE:
|
||||||
|
@ -265,6 +266,8 @@ class ModuleLoader(BasicModuleLoader):
|
||||||
else:
|
else:
|
||||||
raise ImportError, "Unrecognized module type (%s) for %s" % \
|
raise ImportError, "Unrecognized module type (%s) for %s" % \
|
||||||
(`type`, name)
|
(`type`, name)
|
||||||
|
finally:
|
||||||
|
if file: file.close()
|
||||||
m.__file__ = filename
|
m.__file__ = filename
|
||||||
return m
|
return m
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue