def __init__(self): assert Hub.state == 0, ('%s hub can only be instantiated once' % type(self).__name__, Hub.state) Hub.state = 1 make_twisted_threadpool_daemonic() # otherwise the program # would hang after the main # greenlet exited g = greenlet.greenlet(self.run) BaseTwistedHub.__init__(self, g)
def __init__(self): assert Hub.state==0, ('%s hub can only be instantiated once'%type(self).__name__, Hub.state) Hub.state = 1 make_twisted_threadpool_daemonic() # otherwise the program # would hang after the main # greenlet exited g = greenlet.greenlet(self.run) BaseTwistedHub.__init__(self, g)
def switch(self): assert getcurrent() is not self.greenlet, \ "Cannot switch from MAINLOOP to MAINLOOP" if self.greenlet.dead: self.greenlet = greenlet.greenlet(self.run) try: getcurrent().parent = self.greenlet except ValueError: pass return self.greenlet.switch()