diff --git a/include/kpn/pool_node.hpp b/include/kpn/pool_node.hpp index 96eac9d..ee32d19 100644 --- a/include/kpn/pool_node.hpp +++ b/include/kpn/pool_node.hpp @@ -732,6 +732,11 @@ private: ch->push_sentinel(std::move(val)); return; } + // Lossless mode: block until the consumer drains instead of dropping. + if (lossless_) { + ch->push_blocking(std::move(val)); + return; + } try { ch->push(std::move(val)); } catch (const ChannelOverflowError&) {