summaryrefslogtreecommitdiff
path: root/Mailman/Utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'Mailman/Utils.py')
-rw-r--r--Mailman/Utils.py9
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]