chiark / gitweb /
svc/conntrack: Add magic `down' peer tags.
[tripe] / py / rmcr.py
index f73a6cc9ab0a99e91935c5cac234573afd3b6070..70df8f3a296295eb25a55de4623b12cd0b01b558 100644 (file)
@@ -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))