From: Kefu Chai Date: Thu, 23 Jan 2020 07:38:11 +0000 (+0800) Subject: crimson/common/errorator: construct future<> with a future_state_base X-Git-Tag: v15.1.0~83^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F32797%2Fhead;p=ceph.git crimson/common/errorator: construct future<> with a future_state_base this change is made to adapt https://github.com/scylladb/seastar/commit/89e801b373423b068b3a70e50b656348f549ade0 * always use the helpers from `futurize` instead of using `::seastar::make_exception_future()` directly. as `make_exception_future(future_state_base&& state)` is located in `seastar::internal` namespace * add `noexcept` specifier in both constructors. to match with the helpers of `make_exception_future2()` which dispatch the call to different constructor variants. Signed-off-by: Kefu Chai --- diff --git a/src/crimson/common/errorator.h b/src/crimson/common/errorator.h index 064daaffa4a4..f26b65847c4e 100644 --- a/src/crimson/common/errorator.h +++ b/src/crimson/common/errorator.h @@ -388,8 +388,12 @@ private: : base_t(::seastar::make_ready_future(std::forward(a)...)) { } [[gnu::always_inline]] - _future(exception_future_marker, std::exception_ptr&& ep) - : base_t(::seastar::make_exception_future(std::move(ep))) { + _future(exception_future_marker, ::seastar::future_state_base&& state) noexcept + : base_t(::seastar::futurize::make_exception_future(std::move(state))) { + } + [[gnu::always_inline]] + _future(exception_future_marker, std::exception_ptr&& ep) noexcept + : base_t(::seastar::futurize::make_exception_future(std::move(ep))) { } template