From 2d2cd7ac03311bddb9645a7ab82c7e78edccbaa0 Mon Sep 17 00:00:00 2001 From: eldritch horrors Date: Sat, 18 Oct 2025 19:43:44 +0200 Subject: [PATCH] libutil: always rethrow kj::CanceledException the fiber runtime requires this for correctness. Change-Id: I5ebc6a046596403e86cebaa95962053ff7813877 --- lix/libutil/serialise-async.hh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lix/libutil/serialise-async.hh b/lix/libutil/serialise-async.hh index ed091c3ff..14d5499dc 100644 --- a/lix/libutil/serialise-async.hh +++ b/lix/libutil/serialise-async.hh @@ -4,6 +4,7 @@ #include "async-io.hh" #include "result.hh" #include +#include #include #include @@ -79,6 +80,8 @@ inline auto deserializeFrom(AsyncBufferedInputStream & from, auto fn) } else { return fn(wrapped); } + } catch (kj::CanceledException &) { // NOLINT(lix-foreign-exceptions) + throw; // NOLINT(lix-foreign-exceptions): fiber invariants require this } catch (...) { return result::current_exception(); }