diff --git a/src/chasers/chaser_estimate.cpp b/src/chasers/chaser_estimate.cpp index 46da0282..940358f4 100644 --- a/src/chasers/chaser_estimate.cpp +++ b/src/chasers/chaser_estimate.cpp @@ -182,7 +182,7 @@ void chaser_estimate::do_initialize(header_t) NOEXCEPT if (!estimator_->initialize(stopping_, archive(), horizon)) { fault(error::estimates_initialize); - estimator_.release(); + estimator_.reset(); return; } diff --git a/test/sessions/session.cpp b/test/sessions/session.cpp index bc1deb1d..a9ebadf5 100644 --- a/test/sessions/session.cpp +++ b/test/sessions/session.cpp @@ -254,9 +254,9 @@ struct session_broadcast_setup_fixture promise.set_value(ec); }; - const auto race = std::make_shared(handler); - const auto message = std::make_shared(race, sink, group); - broadcaster->broadcast(message, 0); + // The race completes upon release of the last message reference. + broadcaster->broadcast(std::make_shared( + std::make_shared(handler), sink, group), 0); return promise.get_future().get(); } @@ -271,10 +271,10 @@ struct session_broadcast_setup_fixture promise.set_value(ec); }; - const auto race = std::make_shared(handler); - const auto message = std::make_shared(race, - network::error::channel_dropped, identifier); - broadcaster->broadcast(message, 0); + // The race completes upon match, or release of the last reference. + broadcaster->broadcast(std::make_shared( + std::make_shared(handler), + network::error::channel_dropped, identifier), 0); return promise.get_future().get(); } };