From 4cfaf65d7954a231972f801135302b1611475daa Mon Sep 17 00:00:00 2001 From: Ryan Williams Date: Sun, 14 Feb 2010 18:33:03 -0800 Subject: [PATCH] Adding exc_clear to hub.switch, since things don't like it when exceptions from other coroutines get up in their thing. --- eventlet/hubs/hub.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eventlet/hubs/hub.py b/eventlet/hubs/hub.py index a86d0a9..b2ef1ad 100644 --- a/eventlet/hubs/hub.py +++ b/eventlet/hubs/hub.py @@ -100,7 +100,7 @@ class BaseHub(object): try: switch_out() except: - traceback.print_exception(*sys.exc_info()) + self.squelch_generic_exception(sys.exc_info()) if self.greenlet.dead: self.greenlet = greenlet.greenlet(self.run) try: @@ -109,6 +109,7 @@ class BaseHub(object): current.parent = self.greenlet except ValueError: pass # gets raised if there is a greenlet parent cycle + sys.exc_clear() return self.greenlet.switch() def squelch_exception(self, fileno, exc_info):