예제 #1
0
파일: hub.py 프로젝트: HVF/gevent
 def switch(self):
     exc_type, exc_value = sys.exc_info()[:2]
     try:
         switch_out = getattr(getcurrent(), 'switch_out', None)
         if switch_out is not None:
             switch_out()
         exc_clear()
         return greenlet.switch(self)
     finally:
         core.set_exc_info(exc_type, exc_value)
예제 #2
0
 def switch(self):
     exc_type, exc_value = sys.exc_info()[:2]
     try:
         switch_out = getattr(getcurrent(), 'switch_out', None)
         if switch_out is not None:
             switch_out()
         exc_clear()
         return greenlet.switch(self)
     finally:
         core.set_exc_info(exc_type, exc_value)
예제 #3
0
파일: hub.py 프로젝트: SMFOSS/gevent
 def switch(self):
     cur = getcurrent()
     assert cur is not self, 'Cannot switch to MAINLOOP from MAINLOOP'
     exc_info = sys.exc_info()
     try:
         sys.exc_clear()
         switch_out = getattr(cur, 'switch_out', None)
         if switch_out is not None:
             try:
                 switch_out()
             except:
                 traceback.print_exc()
         return greenlet.switch(self)
     finally:
         core.set_exc_info(*exc_info)
예제 #4
0
 def switch(self):
     cur = getcurrent()
     assert cur is not self, 'Cannot switch to MAINLOOP from MAINLOOP'
     exc_type, exc_value = sys.exc_info()[:2]
     try:
         switch_out = getattr(cur, 'switch_out', None)
         if switch_out is not None:
             try:
                 switch_out()
             except:
                 traceback.print_exc()
         sys.exc_clear()
         return greenlet.switch(self)
     finally:
         core.set_exc_info(exc_type, exc_value)
예제 #5
0
 def switch(self):
     trace = sys.gettrace()
     sys.settrace(None)
     cur = getcurrent()
     assert cur is not self, 'Cannot switch to MAINLOOP from MAINLOOP'
     exc_type, exc_value = sys.exc_info()[:2]
     try:
         switch_out = getattr(cur, 'switch_out', None)
         if switch_out is not None:
             try:
                 switch_out()
             except:
                 traceback.print_exc()
         sys.exc_clear()
         return greenlet.switch(self)
     finally:
         core.set_exc_info(exc_type, exc_value)
         sys.settrace(trace)