Module: wine Branch: master Commit: 2f0153df7cb1e188b29111eb12b483491a5b321f URL: https://gitlab.winehq.org/wine/wine/-/commit/2f0153df7cb1e188b29111eb12b4834...
Author: Zebediah Figura zfigura@codeweavers.com Date: Thu Jul 21 19:50:46 2022 -0500
server: Translate AFD_POLL_RESET to FD_CLOSE plus WSAECONNABORTED in window messages.
---
dlls/ws2_32/tests/sock.c | 2 +- server/sock.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c index 8530d80d3d9..73eaeab734a 100644 --- a/dlls/ws2_32/tests/sock.c +++ b/dlls/ws2_32/tests/sock.c @@ -7134,7 +7134,7 @@ static void test_close_events(struct event_test_ctx *ctx)
close_with_rst(client);
- check_events_todo_msg(ctx, MAKELONG(FD_CLOSE, WSAECONNABORTED), 0, 200); + check_events(ctx, MAKELONG(FD_CLOSE, WSAECONNABORTED), 0, 200); check_events(ctx, 0, 0, 0); select_events(ctx, server, FD_ACCEPT | FD_CLOSE | FD_CONNECT | FD_OOB | FD_READ); if (ctx->is_message) diff --git a/server/sock.c b/server/sock.c index f2d1dce8112..bd441d822a8 100644 --- a/server/sock.c +++ b/server/sock.c @@ -800,7 +800,11 @@ static void post_sock_messages( struct sock *sock ) enum afd_poll_bit event = event_bitorder[i]; if (events & (1 << event)) { - lparam_t lparam = afd_poll_flag_to_win32(1 << event) | (sock_get_error( sock->errors[event] ) << 16); + lparam_t lparam; + if (event == AFD_POLL_BIT_RESET) + lparam = FD_CLOSE | (WSAECONNABORTED << 16); + else + lparam = afd_poll_flag_to_win32(1 << event) | (sock_get_error( sock->errors[event] ) << 16); post_message( sock->window, sock->message, sock->wparam, lparam ); } }