aboutsummaryrefslogtreecommitdiff
path: root/server-client.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2019-06-07 23:02:26 +0100
committerThomas Adam <thomas@xteddy.org>2019-06-07 23:02:26 +0100
commite13c1e53209a6ede0fa334b3e9e9c8b41e6712c0 (patch)
tree473ea274eed63dd82aa4d35a19c76d0c0297d30d /server-client.c
parentc91680822df84f6db2f8ce650e457d59d37f3856 (diff)
parente37f34facc05c3ba146d4158cc7af23f6886fecd (diff)
downloadrtmux-e13c1e53209a6ede0fa334b3e9e9c8b41e6712c0.tar.gz
rtmux-e13c1e53209a6ede0fa334b3e9e9c8b41e6712c0.tar.bz2
rtmux-e13c1e53209a6ede0fa334b3e9e9c8b41e6712c0.zip
Merge branch 'obsd-master'
Diffstat (limited to 'server-client.c')
-rw-r--r--server-client.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/server-client.c b/server-client.c
index 7381eb52..24fa147e 100644
--- a/server-client.c
+++ b/server-client.c
@@ -1521,7 +1521,9 @@ server_client_click_timer(__unused int fd, __unused short events, void *data)
static void
server_client_check_exit(struct client *c)
{
- if (!(c->flags & CLIENT_EXIT))
+ if (~c->flags & CLIENT_EXIT)
+ return;
+ if (c->flags & CLIENT_EXITED)
return;
if (EVBUFFER_LENGTH(c->stdin_data) != 0)
@@ -1534,7 +1536,7 @@ server_client_check_exit(struct client *c)
if (c->flags & CLIENT_ATTACHED)
notify_client("client-detached", c);
proc_send(c->peer, MSG_EXIT, -1, &c->retval, sizeof c->retval);
- c->flags &= ~CLIENT_EXIT;
+ c->flags |= CLIENT_EXITED;
}
/* Redraw timer callback. */