X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/tripe/blobdiff_plain/e41b17c85e858097cf8c077287c4744dd139f3b5..f2bdb96e6b85213148d44dc1f12b3929526d665f:/py/rmcr.py diff --git a/py/rmcr.py b/py/rmcr.py index f73a6cc9..70df8f3a 100644 --- a/py/rmcr.py +++ b/py/rmcr.py @@ -29,7 +29,7 @@ __pychecker__ = 'self=me' ### External dependencies. import thread as T -from sys import exc_info +from sys import exc_info, excepthook ###-------------------------------------------------------------------------- ### What's going on? @@ -134,11 +134,11 @@ class Coroutine (object): try: _debug(' _start(%s): call user (args = %s, kwargs = %s)' % (me, args, kwargs)) - me._func(*args, **kwargs) + me._onexit = [me._func(*args, **kwargs), None] except: exc = exc_info() _debug(' _start(%s): caught exception (%s)' % (me, exc)) - _switchto(findvictim(me.parent), None, exc) + me._onexit = [None, exc] finally: _debug(' _start(%s): finally' % me) _debug(' _start(%s): _onexit = %s' % (me, me._onexit))