@@ -133,16 +133,19 @@ def find_builtin_module(self, name):
133133
134134 def load_module (self , name , stuff ):
135135 file , filename , (suff , mode , type ) = stuff
136- if type == BUILTIN_MODULE :
137- return imp .init_builtin (name )
138- if type == FROZEN_MODULE :
139- return imp .init_frozen (name )
140- if type == C_EXTENSION :
141- return imp .load_dynamic (name , filename , file )
142- if type == PY_SOURCE :
143- return imp .load_source (name , filename , file )
144- if type == PY_COMPILED :
145- return imp .load_compiled (name , filename , file )
136+ try :
137+ if type == BUILTIN_MODULE :
138+ return imp .init_builtin (name )
139+ if type == FROZEN_MODULE :
140+ return imp .init_frozen (name )
141+ if type == C_EXTENSION :
142+ return imp .load_dynamic (name , filename , file )
143+ if type == PY_SOURCE :
144+ return imp .load_source (name , filename , file )
145+ if type == PY_COMPILED :
146+ return imp .load_compiled (name , filename , file )
147+ finally :
148+ if file : file .close ()
146149 raise ImportError , "Unrecognized module type (%s) for %s" % \
147150 (`type` , name )
148151
0 commit comments