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
commitcaedb2393778e4a1fd63cecbf7c0e5a543ee00c1 (patch)
treead1c3042234e72df0d2d52332492d6f97e74952a /src/xgselect.c
parent38453e9043aa47dc00f9bb4c3ef2f67acb34975e (diff)
parentf8b00abec5ff23af893e2377ab700d2998f0b43d (diff)
downloademacs-caedb2393778e4a1fd63cecbf7c0e5a543ee00c1.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;
}