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-06 00:30:01 +0000
commit90649e6a39dc6caad8313b25ef869a089f81aba7 (patch)
tree13199f32551b7fccb19889c6db62f4350a446e22 /os
parent25d26b55e74b50a2fd0632329cb0bdca017fe8e6 (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. (cherry picked from commit d8b2cad3771a09860e7be1726f67e684cf7caeec)
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 d975f87d2..135dd2cda 100644
--- a/os/connection.c
+++ b/os/connection.c
@@ -1008,7 +1008,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);
}
}