diff options
author | Tiago Cunha <tcunha@gmx.com> | 2012-01-29 12:53:33 +0000 |
---|---|---|
committer | Tiago Cunha <tcunha@gmx.com> | 2012-01-29 12:53:33 +0000 |
commit | e23df3af5a57d28ba40b14db1ad6d62f0ee99940 (patch) | |
tree | a70888bbd92b8586121eeac1a508b9f08cb2a91d /server-client.c | |
parent | 9c1d3046cac8b999e0b2be4bc0f126bd889ea1c1 (diff) | |
download | rtmux-e23df3af5a57d28ba40b14db1ad6d62f0ee99940.tar.gz rtmux-e23df3af5a57d28ba40b14db1ad6d62f0ee99940.tar.bz2 rtmux-e23df3af5a57d28ba40b14db1ad6d62f0ee99940.zip |
Sync OpenBSD patchset 1014:
Call bufferevent_free before closing file descriptor associated with it
or bugs in $EventMechanism on $OtherOS makes libevent get it's knickers
in a twist. From Dylan Alex Simon.
Diffstat (limited to 'server-client.c')
-rw-r--r-- | server-client.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/server-client.c b/server-client.c index 61b864b7..6d485ae1 100644 --- a/server-client.c +++ b/server-client.c @@ -123,24 +123,24 @@ server_client_lost(struct client *c) if (c->flags & CLIENT_TERMINAL) tty_free(&c->tty); + if (c->stdin_event != NULL) + bufferevent_free(c->stdin_event); if (c->stdin_fd != -1) { setblocking(c->stdin_fd, 1); close(c->stdin_fd); } - if (c->stdin_event != NULL) - bufferevent_free(c->stdin_event); + if (c->stdout_event != NULL) + bufferevent_free(c->stdout_event); if (c->stdout_fd != -1) { setblocking(c->stdout_fd, 1); close(c->stdout_fd); } - if (c->stdout_event != NULL) - bufferevent_free(c->stdout_event); + if (c->stderr_event != NULL) + bufferevent_free(c->stderr_event); if (c->stderr_fd != -1) { setblocking(c->stderr_fd, 1); close(c->stderr_fd); } - if (c->stderr_event != NULL) - bufferevent_free(c->stderr_event); status_free_jobs(&c->status_new); status_free_jobs(&c->status_old); |