diff options
Diffstat (limited to 'Mailman/Utils.py')
| -rw-r--r-- | Mailman/Utils.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Mailman/Utils.py b/Mailman/Utils.py index 9aff8dfa4..a001c0946 100644 --- a/Mailman/Utils.py +++ b/Mailman/Utils.py @@ -589,7 +589,14 @@ def reap(kids, func=None, once=0): while kids: if func: func() - pid, status = os.waitpid(-1, os.WNOHANG) + try: + pid, status = os.waitpid(-1, os.WNOHANG) + except OSError, e: + # If the child procs had a bug we might have no children + if e.errno <> errno.ECHILD: + raise + kids.clear() + break if pid <> 0: try: del kids[pid] |
