You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm witnessing an odd behavior whereby io_uring_prep_send SQEs get completed with res = 0, even if the connection is still alive and using send directly works just fine. This is on 6.10.3 and sending messages down a blocking TCP socket, with a polling uring.
I think this is due to MSG_DONTWAIT being passed to sock_sendmsg. MSG_DONTWAIT is set when IO_URING_F_NONBLOCK is set, which I think is the case for polling queues. So I'd imagine that when the socket buffer is full you'll just get 0.
Is this expected? I'd expect send on blocking sockets to block until space is present.