Skip to content

[GIT PULL] liburing.h: add missing LIBURING_NOEXCEPT to inline helpers - #1637

Merged
axboe merged 1 commit into
axboe:masterfrom
businessarshgoyal:liburing-noexcept-inline-helpers
Sep 11, 2026
Merged

[GIT PULL] liburing.h: add missing LIBURING_NOEXCEPT to inline helpers#1637
axboe merged 1 commit into
axboe:masterfrom
businessarshgoyal:liburing-noexcept-inline-helpers

Conversation

@businessarshgoyal

Copy link
Copy Markdown
Contributor

io_uring_cqe_nr(), io_uring_cqe_get_data64(), io_uring_prep_pipe() and io_uring_prep_pipe_direct() are the only IOURINGINLINE helpers in liburing.h without the LIBURING_NOEXCEPT annotation that every other public inline helper carries. This adds it so the header is consistent and C++ callers see these as noexcept like the rest.

Verified: make and make -C test build warning-free, pipe.t/nop.t pass, and a g++ -std=c++17 TU including the header compiles cleanly.


git request-pull output:

The following changes since commit 4cf73437863c2e492d2a1d0f24330f391c0f075b:

  test/iowait.t: Skip if system is not quiesced for too long (2026-08-31 17:00:18 -0600)

are available in the Git repository at:

  https://github.com/businessarshgoyal/liburing liburing-noexcept-inline-helpers

for you to fetch changes up to 3cd017e37bd9d57914bd34caadad55dccf69b1c1:

  liburing.h: add missing LIBURING_NOEXCEPT to inline helpers (2026-09-08 08:38:43 +0000)

----------------------------------------------------------------
Arsh Goyal (1):
      liburing.h: add missing LIBURING_NOEXCEPT to inline helpers

 src/include/liburing.h | 4 ++++
 1 file changed, 4 insertions(+)

By submitting this pull request, I acknowledge that:

  1. I have followed the above pull request guidelines.
  2. I have the rights to submit this work under the same license.
  3. I agree to a Developer Certificate of Origin (see https://developercertificate.org for more information).

io_uring_cqe_nr(), io_uring_cqe_get_data64(), io_uring_prep_pipe() and
io_uring_prep_pipe_direct() are the only IOURINGINLINE helpers that are
not annotated with LIBURING_NOEXCEPT. All other public inline helpers
carry the annotation, so C++ consumers see these four as potentially
throwing, which is inconsistent and can inhibit optimizations in
noexcept contexts. Mark them like the rest of the header.

Signed-off-by: Arsh Goyal <business.arshgoyal@gmail.com>
Co-Authored-By: business.arshgoyal@gmail.com <business.arshgoyal@gmail.com>
@axboe
axboe merged commit e9e4ac2 into axboe:master Sep 11, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants