mercurial/commandserver.py
changeset 49303 dfdf85f37215
parent 49302 ee4537e365c8
child 49304 48f1b314056b
equal deleted inserted replaced
49302:ee4537e365c8 49303:dfdf85f37215
   691 
   691 
   692     def _reapworkers(self, options):
   692     def _reapworkers(self, options):
   693         while self._workerpids:
   693         while self._workerpids:
   694             try:
   694             try:
   695                 pid, _status = os.waitpid(-1, options)
   695                 pid, _status = os.waitpid(-1, options)
   696             except OSError as inst:
   696             except ChildProcessError:
   697                 if inst.errno != errno.ECHILD:
       
   698                     raise
       
   699                 # no child processes at all (reaped by other waitpid()?)
   697                 # no child processes at all (reaped by other waitpid()?)
   700                 self._workerpids.clear()
   698                 self._workerpids.clear()
   701                 return
   699                 return
   702             if pid == 0:
   700             if pid == 0:
   703                 # no waitable child processes
   701                 # no waitable child processes