summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--logilab/common/modutils.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/logilab/common/modutils.py b/logilab/common/modutils.py
index dd725d2..e70a1a9 100644
--- a/logilab/common/modutils.py
+++ b/logilab/common/modutils.py
@@ -165,7 +165,11 @@ def load_module_from_modpath(parts, path=None, use_sys=True):
module = sys.modules.get(curname)
if module is None:
mp_file, mp_filename, mp_desc = find_module(part, path)
- module = load_module(curname, mp_file, mp_filename, mp_desc)
+ try:
+ module = load_module(curname, mp_file, mp_filename, mp_desc)
+ finally:
+ if mp_file is not None:
+ mp_file.close()
if prevmodule:
setattr(prevmodule, part, module)
_file = getattr(module, '__file__', '')