diff --git a/transport-native-io_uring/src/main/java/io/netty/channel/uring/IOUringSubmissionQueue.java b/transport-native-io_uring/src/main/java/io/netty/channel/uring/IOUringSubmissionQueue.java index f6966a4407..4d1d9411aa 100644 --- a/transport-native-io_uring/src/main/java/io/netty/channel/uring/IOUringSubmissionQueue.java +++ b/transport-native-io_uring/src/main/java/io/netty/channel/uring/IOUringSubmissionQueue.java @@ -288,10 +288,11 @@ final class IOUringSubmissionQueue { public void submit() { int submitted = flushSqe(); logger.trace("Submitted: {}", submitted); - - int ret = Native.ioUringEnter(ringFd, submitted, 0, 0); - if (ret < 0) { - throw new RuntimeException("ioUringEnter syscall"); + if (submitted > 0) { + int ret = Native.ioUringEnter(ringFd, submitted, 0, 0); + if (ret < 0) { + throw new RuntimeException("ioUringEnter syscall"); + } } }