server: Attempt to complete I/O request immediately in send_socket.
commit65d12984f2c5c33d2233d705970d0524f2f5e775
authorJinoh Kang <jinoh.kang.kr@gmail.com>
Wed, 23 Mar 2022 17:25:17 +0000 (24 02:25 +0900)
committerAlexandre Julliard <julliard@winehq.org>
Fri, 25 Mar 2022 17:30:28 +0000 (25 18:30 +0100)
tree04dafce253101b3e5caa26fcfe422e3999c94dac
parent1c6c90c7e1f1cd011e0ddb1dba47719d61d78fb2
server: Attempt to complete I/O request immediately in send_socket.

Make send_socket alert the async immediately if poll() call detects that
there are incoming data in the socket, bypassing the wineserver's main
polling loop.

For sock_transmit, we always mark the async as pending and set the IOSB
(unless async allocation has failed).

Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
dlls/ntdll/unix/socket.c
include/wine/server_protocol.h
server/protocol.def
server/request.h
server/sock.c
server/trace.c