https://bugs.winehq.org/show_bug.cgi?id=10648
Jinoh Kang jinoh.kang.kr@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jinoh.kang.kr@gmail.com
--- Comment #5 from Jinoh Kang jinoh.kang.kr@gmail.com --- Requesting to reopen the ticket.
The gRPC library relies on the all-or-none behaviour of nonblocking send() on Winsock. All applications relying on gRPC thus fails to transmit RPC packets properly.
It's possible to patch gRPC instead [1] so that it properly handles partial writes, but it is not always feasible in proprietary software applications.
Possible directions for the fix include:
- In sock_send(), test if it's possible to actually send the full stream data before calling send(). - On partial write, queue up the rest of the buffer and report success.
[1] https://github.com/grpc/grpc/pull/28432/files