From: Paul Eggert <eggert@cs.ucla.edu> Date: Thu, 8 Jul 2021 17:00:30 +0000 (-0700) Subject: select: port better to MinGW X-Git-Tag: v1.0~2783 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=21fccfa0451ba59fba479e439465da9c360353d3;p=gnulib.git select: port better to MinGW Problem reported by Eli Zaretskii in: https://lists.gnu.org/r/bug-gnulib/2021-07/msg00017.html * lib/select.c (rpl_select) [_WIN32 && !__CYGWIN__]: Pass a SOCKET, not a HANDLE, to FD_ISSET. --- diff --git a/ChangeLog b/ChangeLog index 2eaf00b591..25d85aa4af 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2021-07-08 Paul Eggert <eggert@cs.ucla.edu> + + select: port better to MinGW + Problem reported by Eli Zaretskii in: + https://lists.gnu.org/r/bug-gnulib/2021-07/msg00017.html + * lib/select.c (rpl_select) [_WIN32 && !__CYGWIN__]: + Pass a SOCKET, not a HANDLE, to FD_ISSET. + 2021-07-06 Paul Eggert <eggert@cs.ucla.edu> year2038: Add --disable-year2038 option diff --git a/lib/select.c b/lib/select.c index 2fe6a18064..eddac4b61f 100644 --- a/lib/select.c +++ b/lib/select.c @@ -530,12 +530,13 @@ restart: if (h != handle_array[nhandles]) { /* Perform handle->descriptor mapping. */ - WSAEventSelect ((SOCKET) h, NULL, 0); - if (FD_ISSET (h, &handle_rfds)) + SOCKET s = (SOCKET) h; + WSAEventSelect (s, NULL, 0); + if (FD_ISSET (s, &handle_rfds)) FD_SET (i, rfds); - if (FD_ISSET (h, &handle_wfds)) + if (FD_ISSET (s, &handle_wfds)) FD_SET (i, wfds); - if (FD_ISSET (h, &handle_xfds)) + if (FD_ISSET (s, &handle_xfds)) FD_SET (i, xfds); } else