Zebediah Figura : server: Clear only returned events in IOCTL_AFD_GET_EVENTS.

Alexandre Julliard julliard at winehq.org
Wed May 4 16:14:45 CDT 2022


Module: wine
Branch: master
Commit: 683d46a2cdf08d999f07d13e048ac6bca98b46fa
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=683d46a2cdf08d999f07d13e048ac6bca98b46fa

Author: Zebediah Figura <zfigura at codeweavers.com>
Date:   Tue May  3 17:56:27 2022 -0500

server: Clear only returned events in IOCTL_AFD_GET_EVENTS.

Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

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

diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c
index c88016c5404..7bc2b2474ca 100644
--- a/dlls/ws2_32/tests/sock.c
+++ b/dlls/ws2_32/tests/sock.c
@@ -5659,7 +5659,7 @@ static void test_connect_events(struct event_test_ctx *ctx)
     if (ctx->is_message)
         check_events(ctx, FD_WRITE, 0, 200);
     else
-        check_events_todo(ctx, FD_CONNECT, 0, 200);
+        check_events(ctx, FD_CONNECT, 0, 200);
 
     closesocket(client);
     closesocket(server);
@@ -5896,7 +5896,7 @@ static void test_read_events(struct event_test_ctx *ctx)
     check_events(ctx, 0, 0, 0);
 
     select_events(ctx, server, FD_ACCEPT | FD_CONNECT | FD_OOB | FD_READ | FD_WRITE);
-    check_events_todo_event(ctx, FD_READ, FD_WRITE, 200);
+    check_events(ctx, FD_READ, FD_WRITE, 200);
     check_events(ctx, 0, 0, 0);
 
     ret = sync_recv(server, buffer, 5, 0);
@@ -6111,7 +6111,7 @@ static void test_close_events(struct event_test_ctx *ctx)
 
     check_events(ctx, 0, 0, 200);
     select_events(ctx, server, FD_ACCEPT | FD_CLOSE | FD_CONNECT | FD_OOB | FD_READ);
-    check_events_todo_event(ctx, FD_CLOSE, 0, 200);
+    check_events(ctx, FD_CLOSE, 0, 200);
 
     closesocket(server);
 }
diff --git a/server/sock.c b/server/sock.c
index 9f9b9bdfcd9..29dd1ca7fa8 100644
--- a/server/sock.c
+++ b/server/sock.c
@@ -2516,7 +2516,7 @@ static void sock_ioctl( struct fd *fd, ioctl_code_t code, struct async *async )
         for (i = 0; i < ARRAY_SIZE( params.status ); ++i)
             params.status[i] = sock_get_ntstatus( sock->errors[i] );
 
-        sock->pending_events = 0;
+        sock->pending_events &= ~sock->mask;
         sock_reselect( sock );
 
         set_reply_data( &params, sizeof(params) );




More information about the wine-cvs mailing list