Zebediah Figura : server: Reset the reported event mask in set_socket_event only when using window messages.
Alexandre Julliard
julliard at winehq.org
Thu May 13 15:30:59 CDT 2021
Module: wine
Branch: master
Commit: 44a3c70d77139526b4066114cf9128fafd113ffb
URL: https://source.winehq.org/git/wine.git/?a=commit;h=44a3c70d77139526b4066114cf9128fafd113ffb
Author: Zebediah Figura <z.figura12 at gmail.com>
Date: Wed May 12 21:59:21 2021 -0500
server: Reset the reported event mask in set_socket_event only when using window messages.
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/ws2_32/tests/sock.c | 21 ++++++++++-----------
server/sock.c | 3 ++-
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c
index ec78e62969e..7611b934c3a 100644
--- a/dlls/ws2_32/tests/sock.c
+++ b/dlls/ws2_32/tests/sock.c
@@ -2641,9 +2641,8 @@ static void test_WSAEnumNetworkEvents(void)
}
else
{
- todo_wine_if (i != 0) /* Remove when fixed */
- ok (net_events.lNetworkEvents == 0, "Test[%d]: expected 0, got %d\n",
- i, net_events.lNetworkEvents);
+ ok (net_events.lNetworkEvents == 0, "Test[%d]: expected 0, got %d\n",
+ i, net_events.lNetworkEvents);
}
for (k = 0; k < FD_MAX_EVENTS; k++)
{
@@ -3990,12 +3989,12 @@ static void test_accept_events(struct event_test_ctx *ctx)
select_events(ctx, listener, FD_CONNECT | FD_READ | FD_OOB | FD_ACCEPT);
if (ctx->is_message)
check_events(ctx, FD_ACCEPT, 0, 200);
- check_events_todo_event(ctx, 0, 0, 0);
+ check_events(ctx, 0, 0, 0);
select_events(ctx, listener, 0);
select_events(ctx, listener, FD_CONNECT | FD_READ | FD_OOB | FD_ACCEPT);
if (ctx->is_message)
check_events(ctx, FD_ACCEPT, 0, 200);
- check_events_todo_event(ctx, 0, 0, 0);
+ check_events(ctx, 0, 0, 0);
client2 = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
ok(client2 != -1, "failed to create socket, error %u\n", WSAGetLastError());
@@ -4134,7 +4133,7 @@ static void test_connect_events(struct event_test_ctx *ctx)
select_events(ctx, client, FD_ACCEPT | FD_CLOSE | FD_CONNECT | FD_OOB | FD_READ | FD_WRITE);
if (ctx->is_message)
check_events(ctx, FD_WRITE, 0, 200);
- check_events_todo_event(ctx, 0, 0, 0);
+ check_events(ctx, 0, 0, 0);
server = accept(listener, NULL, NULL);
ok(server != -1, "failed to accept, error %u\n", WSAGetLastError());
@@ -4235,12 +4234,12 @@ static void test_write_events(struct event_test_ctx *ctx)
select_events(ctx, server, FD_ACCEPT | FD_CLOSE | FD_CONNECT | FD_OOB | FD_READ | FD_WRITE);
if (ctx->is_message)
check_events(ctx, FD_WRITE, 0, 200);
- check_events_todo_event(ctx, 0, 0, 0);
+ check_events(ctx, 0, 0, 0);
select_events(ctx, server, 0);
select_events(ctx, server, FD_ACCEPT | FD_CLOSE | FD_CONNECT | FD_OOB | FD_READ | FD_WRITE);
if (ctx->is_message)
check_events(ctx, FD_WRITE, 0, 200);
- check_events_todo_event(ctx, 0, 0, 0);
+ check_events(ctx, 0, 0, 0);
ret = send(server, "data", 5, 0);
ok(ret == 5, "got %d\n", ret);
@@ -4268,7 +4267,7 @@ static void test_write_events(struct event_test_ctx *ctx)
select_events(ctx, server, FD_ACCEPT | FD_CLOSE | FD_CONNECT | FD_OOB | FD_READ | FD_WRITE);
if (ctx->is_message)
check_events(ctx, FD_WRITE, 0, 200);
- check_events_todo_event(ctx, 0, 0, 0);
+ check_events(ctx, 0, 0, 0);
}
closesocket(server);
@@ -4313,12 +4312,12 @@ static void test_read_events(struct event_test_ctx *ctx)
select_events(ctx, server, FD_ACCEPT | FD_CLOSE | FD_CONNECT | FD_OOB | FD_READ);
if (ctx->is_message)
check_events(ctx, FD_READ, 0, 200);
- check_events_todo_event(ctx, 0, 0, 0);
+ check_events(ctx, 0, 0, 0);
select_events(ctx, server, 0);
select_events(ctx, server, FD_ACCEPT | FD_CLOSE | FD_CONNECT | FD_OOB | FD_READ);
if (ctx->is_message)
check_events(ctx, FD_READ, 0, 200);
- check_events_todo_event(ctx, 0, 0, 0);
+ check_events(ctx, 0, 0, 0);
ret = send(client, "data", 5, 0);
ok(ret == 5, "got %d\n", ret);
diff --git a/server/sock.c b/server/sock.c
index bd65cfc68c3..ad80b897365 100644
--- a/server/sock.c
+++ b/server/sock.c
@@ -1780,7 +1780,8 @@ DECL_HANDLER(set_socket_event)
if (get_unix_fd( sock->fd ) == -1) return;
old_event = sock->event;
sock->mask = req->mask;
- sock->reported_events &= ~req->mask; /* re-enable held events */
+ if (req->window)
+ sock->reported_events &= ~req->mask; /* re-enable held events */
sock->event = NULL;
sock->window = req->window;
sock->message = req->msg;
More information about the wine-cvs
mailing list