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 | |
parent | 4c12086c1c126347f92c247901fb0ab3231d237c (diff) | |
download | fluxbox-51fa41554e87a50d1ded65382a645c9c47f2194f.zip fluxbox-51fa41554e87a50d1ded65382a645c9c47f2194f.tar.bz2 |
call waitpid until no more children to wait for (thanks Devin/dlab).
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | src/fluxbox.cc | 3 |
2 files changed, 6 insertions, 1 deletions
@@ -1,5 +1,9 @@ | |||
1 | (Format: Year/Month/Day) | 1 | (Format: Year/Month/Day) |
2 | Changes for 1.0rc2: | 2 | Changes for 1.0rc2: |
3 | *06/07/03: | ||
4 | * call waitpid() on SIGCHLD until no more children (thanks Devin/dlab) | ||
5 | sf.net #1514843, #1447782 - fluxbox leaves zombies | ||
6 | fluxbox.cc | ||
3 | *06/07/02: | 7 | *06/07/02: |
4 | * Updated documentation (Mark) | 8 | * Updated documentation (Mark) |
5 | *06/06/29: | 9 | *06/06/29: |
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(); |