diff options
author | simonb <simonb> | 2006-07-03 01:56:59 (GMT) |
---|---|---|
committer | simonb <simonb> | 2006-07-03 01:56:59 (GMT) |
commit | 51fa41554e87a50d1ded65382a645c9c47f2194f (patch) | |
tree | 90b3d52d1eb53f9350ca7d34b8d05de3c179822f /src | |
parent | 4c12086c1c126347f92c247901fb0ab3231d237c (diff) | |
download | fluxbox_lack-51fa41554e87a50d1ded65382a645c9c47f2194f.zip fluxbox_lack-51fa41554e87a50d1ded65382a645c9c47f2194f.tar.bz2 |
call waitpid until no more children to wait for (thanks Devin/dlab).
Diffstat (limited to 'src')
-rw-r--r-- | src/fluxbox.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/fluxbox.cc b/src/fluxbox.cc index 1cdc647..4e4187a 100644 --- a/src/fluxbox.cc +++ b/src/fluxbox.cc | |||
@@ -1135,7 +1135,8 @@ void Fluxbox::handleSignal(int signum) { | |||
1135 | 1135 | ||
1136 | switch (signum) { | 1136 | switch (signum) { |
1137 | case SIGCHLD: // we don't want the child process to kill us | 1137 | case SIGCHLD: // we don't want the child process to kill us |
1138 | waitpid(-1, 0, WNOHANG | WUNTRACED); | 1138 | // more than one process may have terminated |
1139 | while (waitpid(-1, 0, WNOHANG | WUNTRACED) > 0); | ||
1139 | break; | 1140 | break; |
1140 | case SIGHUP: | 1141 | case SIGHUP: |
1141 | restart(); | 1142 | restart(); |