From b3fc7bdb352f562670f652b267cdc314e35ad6d4 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Sun, 8 Sep 2019 17:11:28 -0700 Subject: [PATCH] modules/m_init_backfill: Reference a static dummy instance for when_any(). --- modules/m_fetch.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/m_fetch.cc b/modules/m_fetch.cc index 8d647b6a8..e5a8bb2fb 100644 --- a/modules/m_fetch.cc +++ b/modules/m_fetch.cc @@ -290,9 +290,14 @@ ircd::m::fetch::request_handle() static const auto dereferencer{[] (auto &it) -> server::request & { + // If the request doesn't have a server::request future attached + // during this pass we reference this default constructed static + // instance which when_any() will treat as a no-op. + static server::request request_skip; auto &request(mutable_cast(*it)); - assert(request.future); - return *request.future; + return request.future? + *request.future: + request_skip; }}; auto next