Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 16 additions & 1 deletion man/io_uring_prep_recv.3
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,22 @@ Instead it returns the negated
.I errno
directly in the CQE
.I res
field.
field. Some common error cases are:
.TP
.B -EAGAIN
The operation would have blocked. io_uring normally arms internal poll and
retries the request once the socket is ready, so this result is the expected
outcome when
.B MSG_DONTWAIT
was set in the
.I flags
argument. It can also occur without
.B MSG_DONTWAIT
when the request cannot make progress and io_uring stops retrying rather than
waiting indefinitely. Handle
.B -EAGAIN
as a transient condition and reissue the request.
.P
.SH NOTES
Despite accepting a size_t number of bytes, these functions can transfer at most
INT_MAX bytes per call (the maximum for the underlying syscall interface).
Expand Down
19 changes: 18 additions & 1 deletion man/io_uring_prep_recvmsg.3
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,24 @@ Instead it returns the negated
.I errno
directly in the CQE
.I res
field.
field. Some common error cases are:
.TP
.B -EAGAIN
The operation would have blocked. io_uring normally arms internal poll and
retries the request once the socket is ready, so this result is the expected
outcome when
.B MSG_DONTWAIT
was set in the
.I msg_flags
of the
.I msghdr
argument. It can also occur without
.B MSG_DONTWAIT
when the request cannot make progress and io_uring stops retrying rather than
waiting indefinitely. Handle
.B -EAGAIN
as a transient condition and reissue the request.
.P
.SH NOTES
As with any request that passes in data in a struct, that data must remain
valid until the request has been successfully submitted. It need not remain
Expand Down
17 changes: 16 additions & 1 deletion man/io_uring_prep_send.3
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,22 @@ Instead it returns the negated
.I errno
directly in the CQE
.I res
field.
field. Some common error cases are:
.TP
.B -EAGAIN
The operation would have blocked. io_uring normally arms internal poll and
retries the request once the socket is ready, so this result is the expected
outcome when
.B MSG_DONTWAIT
was set in the
.I flags
argument. It can also occur without
.B MSG_DONTWAIT
when the request cannot make progress and io_uring stops retrying rather than
waiting indefinitely. Handle
.B -EAGAIN
as a transient condition and reissue the request.
.P
.SH NOTES
Despite accepting a size_t number of bytes, these functions can transfer at most
INT_MAX bytes per call (the maximum for the underlying syscall interface).
Expand Down
16 changes: 16 additions & 0 deletions man/io_uring_prep_sendmsg.3
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,22 @@ directly in the CQE
.I res
field. Some common error cases are:
.TP
.B -EAGAIN
The operation would have blocked. io_uring normally arms internal poll and
retries the request once the socket is ready, so this result is the expected
outcome when
.B MSG_DONTWAIT
was set in the
.I msg_flags
of the
.I msghdr
argument. It can also occur without
.B MSG_DONTWAIT
when the request cannot make progress and io_uring stops retrying rather than
waiting indefinitely. Handle
.B -EAGAIN
as a transient condition and reissue the request.
.TP
.B -ENOMEM
The
.BR ulimit (1)
Expand Down
Loading