示例#1
0
 def close_all(self):
     tasks = self._active_tasks[:]
     # this must be set after getting active tasks as it causes
     # thread objects to get out of the list too soon
     self._serving = False
     if tasks and hasattr(tasks[0], 'terminate'):
         for t in tasks:
             try:
                 t.terminate()
             except OSError:
                 err = sys.exc_info()[1]
                 if err.errno != errno.ESRCH:
                     raise
     for t in tasks:
         if t.is_alive():
             t.join()
     del self._active_tasks[:]
     _FTPServer.close_all(self)
示例#2
0
 def close_all(self):
     tasks = self._active_tasks[:]
     # this must be set after getting active tasks as it causes
     # thread objects to get out of the list too soon
     self._serving = False
     if tasks and hasattr(tasks[0], 'terminate'):
         for t in tasks:
             try:
                 t.terminate()
             except OSError:
                 err = sys.exc_info()[1]
                 if err.errno != errno.ESRCH:
                     raise
     for t in tasks:
         if t.is_alive():
             t.join()
     del self._active_tasks[:]
     _FTPServer.close_all(self)