On Sat, Oct 27, 2001 at 09:59:15PM -0400, Roland McGrath wrote: > At a quick glance, the code for both (hurdselect.c) looks the same to me, > but I don't have time right now to examine it too thoroughly. If the > problem with poll does not happen with select, then hurdselect.c is almost > certainly the place that has the bug.
Well, I found a discrepancy, which seems to explain the bug. 2001-10-28 Marcus Brinkmann <[EMAIL PROTECTED]> * hurd/hurdselect.c (_hurd_select): Set type to zero if SELECT_RETURNED is not set before filling in the `revents' members of the user's array. --- hurdselect.c.old Sun Oct 28 03:52:43 2001 +++ hurdselect.c Sun Oct 28 03:53:52 2001 @@ -398,6 +398,9 @@ _hurd_select (int nfds, const int type = d[i].type; int_fast16_t revents = 0; + if ((type & SELECT_RETURNED) == 0) + type = 0; + if (type & SELECT_READ) revents |= POLLIN; if (type & SELECT_WRITE) Thanks, Marcus _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd