io_uring_prep_poll_update(3) — Linux manual page


io_uring_prep_poll_update(3) liburing Manualio_uring_prep_poll_update(3)

NAME         top

       io_uring_prep_poll_update - update an existing poll request

SYNOPSIS         top

       #include <poll.h>
       #include <liburing.h>

       void io_uring_prep_poll_update(struct io_uring_sqe *sqe,
                                      __u64 old_user_data,
                                      __u64 new_user_data,
                                      unsigned poll_mask,
                                      unsigned flags);

DESCRIPTION         top

       The io_uring_prep_poll_update(3) function prepares a poll update
       request. The submission queue entry sqe is setup to update a poll
       request identified by old_user_data, replacing it with the
       new_user_data information. The poll_mask arguments contains the
       new mask to use for the poll request, and flags argument contains
       modifier flags telling io_uring what fields to update.

       The flags 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
              poll_mask argument to the function.

              If set, the poll update request will update the existing
              user_data of the request with the value passed in as the
              new_user_data argument.

              If set, this will change the poll request from a
              singleshot to a multishot request. This must be used along
              with IORING_POLL_UPDATE_EVENTS as the event field must be
              updated to enable multishot.

RETURN VALUE         top


ERRORS         top

       These are the errors that are reported in the CQE res field. On
       success, 0 is returned.

              The request identified by user_data could not be located.
              This could be because it completed before the cancelation
              request was issued, or if an invalid identifier is used.

              One of the fields set in the SQE was invalid.

              The execution state of the request has progressed far
              enough that cancelation is no longer possible. This should
              normally mean that it will complete shortly, either
              successfully, or interrupted due to the cancelation.

              IORING_POLL_UPDATE_EVENTS was set and an error occurred
              re-arming the poll request with the new mask.  The
              original poll request is terminated if this happens, and
              that termination CQE will contain the reason for the error

SEE ALSO         top

       io_uring_get_sqe(3), io_uring_submit(3),
       io_uring_prep_poll_add(3), io_uring_prep_poll_multishot(3)

COLOPHON         top

       This page is part of the liburing (A library for io_uring)
       project.  Information about the project can be found at 
       ⟨⟩.  If you have a bug report for
       this manual page, send it to  This page
       was obtained from the project's upstream Git repository
       ⟨⟩ on 2023-12-22.  (At that
       time, the date of the most recent commit that was found in the
       repository was 2023-12-19.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there
       is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to

liburing-2.2                 March 12, 2022 io_uring_prep_poll_update(3)

Pages that refer to this page: io_uring_prep_poll_update(3)