Beispiel #1
0
 def wrapper(*args, **kwargs):
     from twisted.internet import reactor
     event = coros.event()
     def wrapped_func():
         try:
             result = func(*args, **kwargs)
         except:
             event.send_exception(*sys.exc_info())
         else:
             event.send(result)
     if threadable.isInIOThread():
         callInGreenThread(wrapped_func)
     else:
         reactor.callFromThread(callInGreenThread, wrapped_func)
     return event
Beispiel #2
0
 def _wrap_func(*args, **kwargs):
     return callInGreenThread(func, *args, **kwargs)
Beispiel #3
0
 def wrapper(*args, **kwargs):
     from twisted.internet import reactor
     if threadable.isInIOThread():
         callInGreenThread(func, *args, **kwargs)
     else:
         reactor.callFromThread(callInGreenThread, func, *args, **kwargs)