aboutsummaryrefslogtreecommitdiff
path: root/server.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2009-01-12 19:36:53 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2009-01-12 19:36:53 +0000
commit20957e3aaa4b22dcbfaf34317251ea3e15a62f31 (patch)
treecccbb064157a043dc7494b93f8fb5eacbdf9f528 /server.c
parentc35a50b21adc08b0b9798fec759cf47580e60d68 (diff)
downloadrtmux-20957e3aaa4b22dcbfaf34317251ea3e15a62f31.tar.gz
rtmux-20957e3aaa4b22dcbfaf34317251ea3e15a62f31.tar.bz2
rtmux-20957e3aaa4b22dcbfaf34317251ea3e15a62f31.zip
Skip over now-invalid fds properly when a window is closed.
Diffstat (limited to 'server.c')
-rw-r--r--server.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/server.c b/server.c
index dfc71588..d3ba9909 100644
--- a/server.c
+++ b/server.c
@@ -1,4 +1,4 @@
-/* $Id: server.c,v 1.96 2009-01-12 18:22:47 nicm Exp $ */
+/* $Id: server.c,v 1.97 2009-01-12 19:36:53 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -317,8 +317,10 @@ server_handle_windows(struct pollfd **pfd)
wp = w->panes[j];
if (w != NULL && wp != NULL && wp->fd != -1) {
if (buffer_poll(*pfd, wp->in, wp->out) != 0) {
- if (server_lost_window(w, j) != 0)
+ if (server_lost_window(w, j) != 0) {
+ (*pfd) += 1 - j;
break;
+ }
} else
server_handle_window(w, j);
}