From a07e49abf824b0a51174015591ed8b53d3167921 Mon Sep 17 00:00:00 2001 From: William Swanson Date: Fri, 1 Apr 2016 14:52:11 -0700 Subject: [PATCH] Do not silently drop unhandled obelisk messages If the obelisk connection is shut down, fire the error callback on any pending requests. This gives the client a chance to clean up any resources that may be waiting on message completion. --- src/obelisk/obelisk_router.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/obelisk/obelisk_router.cpp b/src/obelisk/obelisk_router.cpp index 6880829..8fb178f 100644 --- a/src/obelisk/obelisk_router.cpp +++ b/src/obelisk/obelisk_router.cpp @@ -37,6 +37,11 @@ BCC_API obelisk_router::obelisk_router(std::shared_ptr out) obelisk_router::~obelisk_router() { + for (const auto &request: pending_requests_) + { + const auto ec = std::make_error_code(std::errc::operation_canceled); + request.second.on_error(ec); + } } BCC_API void obelisk_router::set_on_update(update_handler on_update)