Module: wine Branch: master Commit: e50df0fa1c613b88b4b0eb9bba69c9f68bf945aa URL: https://gitlab.winehq.org/wine/wine/-/commit/e50df0fa1c613b88b4b0eb9bba69c9f...
Author: Paul Gofman pgofman@codeweavers.com Date: Tue Nov 15 18:46:53 2022 -0600
winhttp: Move flags to websocket header.
---
dlls/winhttp/request.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/dlls/winhttp/request.c b/dlls/winhttp/request.c index 5a5e627a5ef..0af71b40fe9 100644 --- a/dlls/winhttp/request.c +++ b/dlls/winhttp/request.c @@ -3263,6 +3263,7 @@ HINTERNET WINAPI WinHttpWebSocketCompleteUpgrade( HINTERNET hrequest, DWORD_PTR socket->hdr.callback = request->hdr.callback; socket->hdr.notify_mask = request->hdr.notify_mask; socket->hdr.context = context; + socket->hdr.flags = request->connect->hdr.flags & WINHTTP_FLAG_ASYNC; socket->keepalive_interval = 30000; socket->send_buffer_size = request->websocket_send_buffer_size; InitializeSRWLock( &socket->send_lock ); @@ -3587,7 +3588,7 @@ DWORD WINAPI WinHttpWebSocketSend( HINTERNET hsocket, WINHTTP_WEB_SOCKET_BUFFER_ return ERROR_INVALID_OPERATION; }
- if (socket->request->connect->hdr.flags & WINHTTP_FLAG_ASYNC) + if (socket->hdr.flags & WINHTTP_FLAG_ASYNC) { BOOL async_send, complete_async = FALSE; struct socket_send *s; @@ -3762,7 +3763,7 @@ static void task_socket_send_pong( void *ctx, BOOL abort )
static DWORD socket_send_pong( struct socket *socket ) { - if (socket->request->connect->hdr.flags & WINHTTP_FLAG_ASYNC) + if (socket->hdr.flags & WINHTTP_FLAG_ASYNC) { BOOL async_send, complete_async = FALSE; struct socket_send *s; @@ -4024,7 +4025,7 @@ DWORD WINAPI WinHttpWebSocketReceive( HINTERNET hsocket, void *buf, DWORD len, D return ERROR_INVALID_OPERATION; }
- if (socket->request->connect->hdr.flags & WINHTTP_FLAG_ASYNC) + if (socket->hdr.flags & WINHTTP_FLAG_ASYNC) { struct socket_receive *r;
@@ -4094,7 +4095,7 @@ static DWORD send_socket_shutdown( struct socket *socket, USHORT status, const v
if (socket->state < SOCKET_STATE_SHUTDOWN) socket->state = SOCKET_STATE_SHUTDOWN;
- if (socket->request->connect->hdr.flags & WINHTTP_FLAG_ASYNC) + if (socket->hdr.flags & WINHTTP_FLAG_ASYNC) { BOOL async_send, complete_async = FALSE; struct socket_shutdown *s; @@ -4252,7 +4253,7 @@ DWORD WINAPI WinHttpWebSocketClose( HINTERNET hsocket, USHORT status, void *reas prev_state = socket->state; socket->state = SOCKET_STATE_CLOSED;
- if (socket->request->connect->hdr.flags & WINHTTP_FLAG_ASYNC) + if (socket->hdr.flags & WINHTTP_FLAG_ASYNC) { pending_receives = InterlockedIncrement( &socket->hdr.pending_receives ); cancel_queue( &socket->recv_q ); @@ -4263,12 +4264,12 @@ DWORD WINAPI WinHttpWebSocketClose( HINTERNET hsocket, USHORT status, void *reas
if (pending_receives == 1 && socket->close_frame_received) { - if (socket->request->connect->hdr.flags & WINHTTP_FLAG_ASYNC) + if (socket->hdr.flags & WINHTTP_FLAG_ASYNC) socket_close_complete( socket, socket->close_frame_receive_err ); goto done; }
- if (socket->request->connect->hdr.flags & WINHTTP_FLAG_ASYNC) + if (socket->hdr.flags & WINHTTP_FLAG_ASYNC) { struct socket_shutdown *s;