From 3f0624cab61fa38320eaed852634fefe01e68148 Mon Sep 17 00:00:00 2001 From: Vinnie Falco Date: Sat, 17 Jan 2026 05:37:09 -0800 Subject: [PATCH] canceled error and condition --- include/boost/capy/error.hpp | 4 ++++ src/cond.cpp | 3 +++ src/error.cpp | 1 + 3 files changed, 8 insertions(+) diff --git a/include/boost/capy/error.hpp b/include/boost/capy/error.hpp index 1648aa04..7b385d8e 100644 --- a/include/boost/capy/error.hpp +++ b/include/boost/capy/error.hpp @@ -21,10 +21,14 @@ namespace capy { Return `error::eof` when originating an eof error. Check `ec == cond::eof` for portable comparison. + + Return `error::canceled` when originating a cancellation error. + Check `ec == cond::canceled` for portable comparison. */ enum class error { eof = 1, + canceled, test_failure }; diff --git a/src/cond.cpp b/src/cond.cpp index 2b4ef5e4..3eb0c084 100644 --- a/src/cond.cpp +++ b/src/cond.cpp @@ -59,6 +59,9 @@ equivalent( return ec == capy::error::eof; case cond::canceled: + // Check capy::error::canceled + if(ec == capy::error::canceled) + return true; // Check boost::system::errc if(ec == boost::system::errc::operation_canceled) return true; diff --git a/src/error.cpp b/src/error.cpp index c90889e1..73a21ee6 100644 --- a/src/error.cpp +++ b/src/error.cpp @@ -38,6 +38,7 @@ message( switch(static_cast(code)) { case error::eof: return "eof"; + case error::canceled: return "operation canceled"; case error::test_failure: return "test failure"; default: return "unknown";