예제 #1
0
 def _process(self):
     while True:
         ret = api.trampoline(self.client.Connection._sock, read=True)
         if ret:
             self._handle_message(ret)
             api.call_after_global(0, self._g_run.greenlet.switch)
         else:
             # this semaphore stops the message queue greenlet from
             # switching into us whilst we're trying to read data
             self._semaphore.acquire()
             self.client.Process(1)
             self._semaphore.release()
예제 #2
0
파일: processes.py 프로젝트: esh/invaders
def sig_child(signal, frame):
    from eventlet import api
    api.call_after_global(0, wait_on_children)