asyncio: Be careful accessing instance variables in __del__ (closes #21340).

This commit is contained in:
Guido van Rossum 2014-04-27 10:33:58 -07:00
parent ae25f46706
commit 83c1ddda46

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__