Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/ws2_32/tests/sock.c | 6 +++--- server/sock.c | 3 +-- 2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c index 266ddc14451..9116c2b169d 100644 --- a/dlls/ws2_32/tests/sock.c +++ b/dlls/ws2_32/tests/sock.c @@ -4455,12 +4455,12 @@ static void test_close_events(struct event_test_ctx *ctx) check_events(ctx, 0, 0, 0); select_events(ctx, server, FD_ACCEPT | FD_CLOSE | FD_CONNECT | FD_OOB | FD_READ); if (ctx->is_message) - check_events_todo_msg(ctx, FD_CLOSE, 0, 200); + check_events(ctx, FD_CLOSE, 0, 200); 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_todo_msg(ctx, FD_CLOSE, 0, 200); + check_events(ctx, FD_CLOSE, 0, 200); check_events(ctx, 0, 0, 0);
ret = recv(server, buffer, 5, 0); @@ -4553,7 +4553,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_todo(ctx, FD_CLOSE, 0, 200);
closesocket(server); } diff --git a/server/sock.c b/server/sock.c index c8cd603149b..92202d317c4 100644 --- a/server/sock.c +++ b/server/sock.c @@ -786,8 +786,7 @@ static int sock_get_poll_events( struct fd *fd ) else if (smask & FD_READ || (sock->state & FD_WINE_LISTENING && mask & FD_ACCEPT)) ev |= POLLIN | POLLPRI; /* We use POLLIN with 0 bytes recv() as FD_CLOSE indication for stream sockets. */ - else if (sock->type == WS_SOCK_STREAM && (sock->state & FD_READ) && (mask & FD_CLOSE) && - !(sock->reported_events & FD_READ)) + else if (sock->type == WS_SOCK_STREAM && (mask & FD_CLOSE) && !(sock->reported_events & FD_READ)) ev |= POLLIN;
if (async_queued( &sock->write_q ))