On Sat, Jul 9, 2022 at 11:26 AM Jens Axboe <axboe@xxxxxxxxx> wrote: > > On 7/9/22 8:21 AM, Hrvoje Zeba wrote: > > Hi folks, > > > > I was adapting msquic library to work with iouring and found an issue > > with recvmsg() where it ignores O_NONBLOCK flag set on the file > > descriptor. If MSG_DONTWAIT is set in flags, it behaves as expected. > > I've attached a simple test which currently just hangs on iouring's > > recvmsg(). I'm guessing sendmsg() behaves the same way but I have no > > idea how to fill the buffer to reliably test it. > > I am guessing that you're waiting off waiting for the event. It's not > stalled on the issue, it'll arm poll and wait for an event. I won't go > into too much of a ran on O_NONBLOCK, but it's a giant mess, and where > possible, io_uring relies on per-request non-block flags as that is much > saner behavior. > Oh, this is intentional behaviour. Got it! Thanks for the explanation. -- I doubt, therefore I might be.