diff --git a/emper/io/SubmitActor.cpp b/emper/io/SubmitActor.cpp index 722ad23ea4d6594c6f5e79e681c8299ded502445..f1606b84a5c355f7417aa75cde3d91c69fc2e9df 100644 --- a/emper/io/SubmitActor.cpp +++ b/emper/io/SubmitActor.cpp @@ -72,7 +72,8 @@ void SubmitActor::receive(Future* future) { // req1 -> invalid_req -> req3 // will submit only 2 instead of all 3 prepared sqes // See: https://github.com/axboe/liburing/issues/186 - if (unlikely(static_cast<unsigned>(submitted) < prepared)) { + if (unlikely(static_cast<unsigned>(submitted) < prepared) && + emper::IO_MUST_INVALIDATE_BROKEN_CHAIN) { io.cancelUnsubmittedChainParts<CallerEnvironment::EMPER>(*future); }