Hello All,

I am trying to run a Python gRPC application in WINE.

It turns out the gRPC Windows binding uses WSASend which first tries the "blocking" variant on a overlapped socket.

Based on the code, the EXPECTED behaviour is that WSASend is atomic: It either sends nothing and  reports WSAEWOULDBLOCK, or it sends everything and reports SUCCESS.

The behaviour in WINE is:
It sends upto the TCP Congestion window, and I haven't seen it report WSAEWOULDBLOCK. (WSASend() returns 0)

Anyone observed this before? How do other programs handle this?

I reported the same issue at the gRPC group https://groups.google.com/g/grpc-io/c/-RzRZ867jy0

Best regards,

Ruud