Zebediah Figura : ws2_32: Map AFD_POLL_RESET to both POLLHUP and POLLERR.

Alexandre Julliard julliard at winehq.org
Mon Jul 25 16:17:21 CDT 2022


Module: wine
Branch: master
Commit: 21dfab61fbcae6cac4dcd6527ffe3ebb6927c400
URL:    https://gitlab.winehq.org/wine/wine/-/commit/21dfab61fbcae6cac4dcd6527ffe3ebb6927c400

Author: Zebediah Figura <zfigura at codeweavers.com>
Date:   Fri Jul 15 20:07:20 2022 -0500

ws2_32: Map AFD_POLL_RESET to both POLLHUP and POLLERR.

---

 dlls/ws2_32/socket.c     | 2 +-
 dlls/ws2_32/tests/sock.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
index 493ea3299a9..9d51fef1adb 100644
--- a/dlls/ws2_32/socket.c
+++ b/dlls/ws2_32/socket.c
@@ -2974,7 +2974,7 @@ int WINAPI WSAPoll( WSAPOLLFD *fds, ULONG count, int timeout )
                         revents |= POLLRDBAND;
                     if (params->sockets[j].flags & AFD_POLL_WRITE)
                         revents |= POLLWRNORM;
-                    if (params->sockets[j].flags & AFD_POLL_HUP)
+                    if (params->sockets[j].flags & (AFD_POLL_RESET | AFD_POLL_HUP))
                         revents |= POLLHUP;
                     if (params->sockets[j].flags & (AFD_POLL_RESET | AFD_POLL_CONNECT_ERR))
                         revents |= POLLERR;
diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c
index b0f07b9ab58..576fe1cee6a 100644
--- a/dlls/ws2_32/tests/sock.c
+++ b/dlls/ws2_32/tests/sock.c
@@ -12871,7 +12871,7 @@ static void test_tcp_reset(void)
     todo_wine ok(ret == -1, "got %d\n", ret);
     todo_wine ok(WSAGetLastError() == WSAECONNRESET, "got error %u\n", WSAGetLastError());
 
-    check_poll_todo(client, POLLERR | POLLHUP | POLLWRNORM);
+    check_poll(client, POLLERR | POLLHUP | POLLWRNORM);
 
     FD_ZERO(&readfds);
     FD_ZERO(&writefds);




More information about the wine-cvs mailing list