aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2024-03-14 13:35:30 -0600
committerJens Axboe <axboe@kernel.dk>2024-03-14 13:35:30 -0600
commit6203be41277bfa52024173ca6e209cee31c8a368 (patch)
tree31a9fd10c56cf3f06c6d419e4d8d7d76e8d51aea
parent1fdcca14b9af2daea50bf1f08605875ffda349e7 (diff)
downloadliburing-6203be41277bfa52024173ca6e209cee31c8a368.tar.gz
man/io_uring_prep_poll_update: note on event masks that can be updated
We can only modify the lower 16-bits of the event mask, higher bits are internal state. It is nonsensical to eg attempt to modify whether it's an exclusive wait or not, as that needs to happen at insertion time rather than later on. Link: https://github.com/axboe/liburing/issues/1099 Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r--man/io_uring_prep_poll_update.314
1 files changed, 13 insertions, 1 deletions
diff --git a/man/io_uring_prep_poll_update.3 b/man/io_uring_prep_poll_update.3
index 11f63467..41cf7766 100644
--- a/man/io_uring_prep_poll_update.3
+++ b/man/io_uring_prep_poll_update.3
@@ -40,7 +40,19 @@ modifier flags is a bitmask and may contain and OR'ed mask of:
If set, the poll update request will replace the existing events being waited
for with the ones specified in the
.I poll_mask
-argument to the function.
+argument to the function. Note that only the lower 16 bits of events can
+be updated. This includes things like
+.B EPOLLIN
+and
+.B EPOLLOUT .
+Higher order masks/settings are included as internal state, and cannot be
+modified. That includes settings like
+.B EPOLLONESHOT ,
+.B EPOLLEXCLUSIVE ,
+and
+.B EPOLLET .
+If an application wishes to modify these, it must cancel/remove the existing
+poll request and arm a new one.
.TP
.B IORING_POLL_UPDATE_USER_DATA
If set, the poll update request will update the existing user_data of the