diff options
author | Rich Coe <Richard.Coe@med.ge.com> | 2007-12-05 19:31:07 +0000 |
---|---|---|
committer | Daniel Stone <daniel@fooishbar.org> | 2007-12-06 00:30:01 +0000 |
commit | 90649e6a39dc6caad8313b25ef869a089f81aba7 (patch) | |
tree | 13199f32551b7fccb19889c6db62f4350a446e22 /os | |
parent | 25d26b55e74b50a2fd0632329cb0bdca017fe8e6 (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.c | 3 |
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, ¬ime); if (r < 0) - CloseDownClient(clients[ConnectionTranslation[curclient]]); + if (ConnectionTranslation[curclient] > 0) + CloseDownClient(clients[ConnectionTranslation[curclient]]); mask &= ~((fd_mask)1 << curoff); } } |