In collect_children(), put a try-except around os.waitpid() because it

may raise an exception (when there are no children).  Reported by
Andy Dustman.
This commit is contained in:
Guido van Rossum 1999-06-17 15:41:33 +00:00
parent 873f0297c3
commit bfadac00ef
1 changed files with 4 additions and 1 deletions

View File

@ -285,7 +285,10 @@ class ForkingMixIn:
def collect_children(self):
"""Internal routine to wait for died children."""
while self.active_children:
pid, status = os.waitpid(0, os.WNOHANG)
try:
pid, status = os.waitpid(0, os.WNOHANG)
except os.error:
pid = None
if not pid: break
self.active_children.remove(pid)