From 609a4b2fc60509f8891589a96c2688664bd8789e Mon Sep 17 00:00:00 2001 From: Oleksii Kliukin Date: Wed, 13 May 2015 12:22:17 +0200 Subject: [PATCH] loop until we reap all terminated children. --- governor.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/governor.py b/governor.py index 924535f6..d568da86 100755 --- a/governor.py +++ b/governor.py @@ -22,7 +22,10 @@ def sigterm_handler(signo, stack_frame): # handle SIGCHILD, since we are the equivalent of the INIT process def sigchld_handler(signo, stack_frame): try: - os.waitpid(-1, os.WNOHANG) + while True: + ret = os.waitpid(-1, os.WNOHANG) + if ret == (0, 0): + break except OSError: pass