Zebediah Figura : server: Clear only returned events in IOCTL_AFD_GET_EVENTS.
Module: wine Branch: master Commit: 683d46a2cdf08d999f07d13e048ac6bca98b46fa URL: https://source.winehq.org/git/wine.git/?a=commit;h=683d46a2cdf08d999f07d13e0... Author: Zebediah Figura <zfigura(a)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(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)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( ¶ms, sizeof(params) );
participants (1)
-
Alexandre Julliard