Not sure where to ask this question because I mostly never program on Linux, so: where do the errno's go when you issue ops on an io_uring? To the naive user (me), it looks like they simple vanish, since cqe.res is documented as being simply "-1 on error". This can't be right?
Yeah, I know it makes no sense, but that's not what the manual says. It says that the values "match those documented in the preadv2(2) and pwritev2(2) man pages". I'm not sure how else you take that. It should say "match the errno" or "match the result of the syscall", etc.
-
-
I asked specifically _because_ it made no sense to do it that way, and I wanted to know if the manual was wrong, which it appears that it is.
-
Personally I don't think that it's wrong, but it could be clearer.
- Show replies
New conversation -
-
-
They match, yes, in that cqe->res == -errno for the equivalent syscall, not in how they are delivered. Maybe I can talk you into sending a patch to improve it?
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.