summaryrefslogtreecommitdiff
path: root/src/xgselect.c
diff options
context:
space:
mode:
authorJuanma Barranquero <lekktu@gmail.com>2010-09-28 01:25:27 +0200
committerJuanma Barranquero <lekktu@gmail.com>2010-09-28 01:25:27 +0200
commit95b6d681b1121e1be8955aa3f79dd39098edf4cf (patch)
tree445d016578b131a7435fac83fc1fbd49f3a45877 /src/xgselect.c
parent9f2d52e714dfa161c9c9393075a3bcdf056a4ac8 (diff)
parent0cceab3d5942aef608dc33be4616b77206201115 (diff)
downloademacs-95b6d681b1121e1be8955aa3f79dd39098edf4cf.tar.gz
Merge changes from emacs-23 branch.
Diffstat (limited to 'src/xgselect.c')
-rw-r--r--src/xgselect.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/xgselect.c b/src/xgselect.c
index 56e14fe6e14..487f9882b81 100644
--- a/src/xgselect.c
+++ b/src/xgselect.c
@@ -109,11 +109,17 @@ xg_select (int max_fds, SELECT_TYPE *rfds, SELECT_TYPE *wfds, SELECT_TYPE *efds,
if (rfds && FD_ISSET (i, rfds)) ++retval;
else ++our_fds;
}
+ else if (rfds)
+ FD_CLR (i, rfds);
+
if (have_wfds && FD_ISSET (i, &all_wfds))
{
if (wfds && FD_ISSET (i, wfds)) ++retval;
else ++our_fds;
}
+ else if (wfds)
+ FD_CLR (i, wfds);
+
if (efds && FD_ISSET (i, efds))
++retval;
}