示例#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)