* select.cc (select): Add workaround for, as yet undebugged, pathological case.
This commit is contained in:
parent
d7f07b3dde
commit
4bf6a52173
@ -1,3 +1,8 @@
|
|||||||
|
2013-12-03 Christopher Faylor <me.cygwin2013@cgf.cx>
|
||||||
|
|
||||||
|
* select.cc (select): Add workaround for, as yet undebugged,
|
||||||
|
pathological case.
|
||||||
|
|
||||||
2013-12-01 Christopher Faylor <me.cygwin2013@cgf.cx>
|
2013-12-01 Christopher Faylor <me.cygwin2013@cgf.cx>
|
||||||
|
|
||||||
* dtable.cc (dtable::find_unused_handle): Break out of the right loop.
|
* dtable.cc (dtable::find_unused_handle): Break out of the right loop.
|
||||||
|
@ -189,8 +189,11 @@ select (int maxfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
|
|||||||
copyfd_set (readfds, r, maxfds);
|
copyfd_set (readfds, r, maxfds);
|
||||||
copyfd_set (writefds, w, maxfds);
|
copyfd_set (writefds, w, maxfds);
|
||||||
copyfd_set (exceptfds, e, maxfds);
|
copyfd_set (exceptfds, e, maxfds);
|
||||||
/* Actually set the bit mask from sel records */
|
if (res == select_stuff::select_set_zero)
|
||||||
res = (res == select_stuff::select_set_zero) ? 0 : sel.poll (readfds, writefds, exceptfds);
|
res = 0;
|
||||||
|
else
|
||||||
|
/* Set the bit mask from sel records */
|
||||||
|
res = sel.poll (readfds, writefds, exceptfds) ?: select_stuff::select_loop;
|
||||||
}
|
}
|
||||||
/* Always clean up everything here. If we're looping then build it
|
/* Always clean up everything here. If we're looping then build it
|
||||||
all up again. */
|
all up again. */
|
||||||
@ -389,7 +392,7 @@ next_while:;
|
|||||||
wait_ret = MsgWaitForMultipleObjectsEx (m, w4, ms,
|
wait_ret = MsgWaitForMultipleObjectsEx (m, w4, ms,
|
||||||
QS_ALLINPUT | QS_ALLPOSTMESSAGE,
|
QS_ALLINPUT | QS_ALLPOSTMESSAGE,
|
||||||
MWMO_INPUTAVAILABLE);
|
MWMO_INPUTAVAILABLE);
|
||||||
select_printf ("wait_ret %d. verifying", wait_ret);
|
select_printf ("wait_ret %d, m = %d. verifying", wait_ret, m);
|
||||||
|
|
||||||
wait_states res;
|
wait_states res;
|
||||||
switch (wait_ret)
|
switch (wait_ret)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user