Merge 3.4 -> default: asyncio: Be careful accessing instance variables in __del__ (closes #21340).

This commit is contained in:
Guido van Rossum 2014-04-27 10:34:39 -07:00
commit a677c26c1f
1 changed files with 3 additions and 1 deletions

View File

@ -76,7 +76,9 @@ class CoroWrapper:
return self.gen.gi_code
def __del__(self):
frame = self.gen.gi_frame
# Be careful accessing self.gen.frame -- self.gen might not exist.
gen = getattr(self, 'gen', None)
frame = getattr(gen, 'gi_frame', None)
if frame is not None and frame.f_lasti == -1:
func = self.func
code = func.__code__