示例#1
0
文件: hub.py 项目: bigmlcom/pylibs
 def switch(self):
     cur = getcurrent()
     assert cur is not self, 'Cannot switch to MAINLOOP from MAINLOOP'
     switch_out = getattr(cur, 'switch_out', None)
     if switch_out is not None:
         try:
             switch_out()
         except:
             traceback.print_exc()
     return greenlet.switch(self)
示例#2
0
文件: hub.py 项目: OYZQ/odoo_qingjia
 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:
         set_exc_info(exc_type, exc_value)
示例#3
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)
示例#4
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)
示例#5
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)
示例#6
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)
示例#7
0
文件: hub.py 项目: HVF/gevent
 def _start(self):
     try:
         greenlet = self.greenlet_class(self.handle)
         greenlet.switch()
     except:
         self.hub.handle_error(None, *sys._exc_info())
示例#8
0
文件: hub.py 项目: OYZQ/odoo_qingjia
 def _start(self):
     try:
         greenlet = self.greenlet_class(self.handle)
         greenlet.switch()
     except:
         self.hub.handle_error(None, *sys._exc_info())