summaryrefslogtreecommitdiff
path: root/os
diff options
context:
space:
mode:
authorRich Coe <Richard.Coe@med.ge.com>2007-12-05 19:31:07 +0000
committerDaniel Stone <daniel@fooishbar.org>2007-12-05 19:31:07 +0000
commitd8b2cad3771a09860e7be1726f67e684cf7caeec (patch)
tree05c4c218e6f5a1e5c41240b9e16be70bceadcbd5 /os
parenta8e27a108abeba73b2888da4e0604008f4b02045 (diff)
OS: Connection: Don't shut down disappeared clients (bug #7876)
If a client disappears in the middle of CheckConnections (presumably because its appgroup leader disappears), then don't attempt to shut it down a second time, when it's already vanished.
Diffstat (limited to 'os')
-rw-r--r--os/connection.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/os/connection.c b/os/connection.c
index 860404f6c..6012a8e81 100644
--- a/os/connection.c
+++ b/os/connection.c
@@ -1059,7 +1059,8 @@ CheckConnections(void)
FD_SET(curclient, &tmask);
r = Select (curclient + 1, &tmask, NULL, NULL, &notime);
if (r < 0)
- CloseDownClient(clients[ConnectionTranslation[curclient]]);
+ if (ConnectionTranslation[curclient] > 0)
+ CloseDownClient(clients[ConnectionTranslation[curclient]]);
mask &= ~((fd_mask)1 << curoff);
}
}