From 037fccc0dffc808a562a9f28f1de273b2a979de6 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Wed, 12 May 2021 21:59:23 -0500 Subject: [PATCH] server: Do not send messages for events that are not currently being selected for. Signed-off-by: Zebediah Figura Signed-off-by: Alexandre Julliard --- dlls/ws2_32/tests/sock.c | 2 +- server/sock.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c index 2d9c0958dd7..1732c9bf3ee 100644 --- a/dlls/ws2_32/tests/sock.c +++ b/dlls/ws2_32/tests/sock.c @@ -4177,7 +4177,7 @@ static void test_connect_events(struct event_test_ctx *ctx) server = accept(listener, NULL, NULL); ok(server != -1, "failed to accept, error %u\n", WSAGetLastError()); - check_events_todo_msg(ctx, FD_WRITE, 0, 200); + check_events(ctx, FD_WRITE, 0, 200); select_events(ctx, client, FD_ACCEPT | FD_CLOSE | FD_CONNECT | FD_OOB | FD_READ | FD_WRITE); diff --git a/server/sock.c b/server/sock.c index ad80b897365..f74c9396f26 100644 --- a/server/sock.c +++ b/server/sock.c @@ -413,7 +413,7 @@ static void sock_wake_up( struct sock *sock ) for (i = 0; i < FD_MAX_EVENTS; i++) { int event = event_bitorder[i]; - if (sock->pending_events & (1 << event)) + if (events & (1 << event)) { lparam_t lparam = (1 << event) | (sock->errors[event] << 16); post_message( sock->window, sock->message, sock->wparam, lparam );