diff --git a/CHANGELOG.md b/CHANGELOG.md index e0029d33..4841dd19 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +* Workaround TSAN CI bug. + +-------------------------------------------------------------------------------- + Version 332: * Fix beast::zlib warnings diff --git a/test/extras/include/boost/beast/test/yield_to.hpp b/test/extras/include/boost/beast/test/yield_to.hpp index b6571ebd..145e889d 100644 --- a/test/extras/include/boost/beast/test/yield_to.hpp +++ b/test/extras/include/boost/beast/test/yield_to.hpp @@ -122,15 +122,21 @@ void enable_yield_to:: spawn(F0&& f, FN&&... fn) { - asio::spawn(ioc_, - [&](yield_context yield) + // dispatch of spawn is a workaround for + // https://github.com/boostorg/beast/issues/2499 + asio::dispatch(ioc_, + [&] { - f(yield); - std::lock_guard lock{m_}; - if(--running_ == 0) - cv_.notify_all(); - } - , boost::coroutines::attributes(2 * 1024 * 1024)); + asio::spawn(ioc_, + [&](yield_context yield) + { + f(yield); + std::lock_guard lock{m_}; + if(--running_ == 0) + cv_.notify_all(); + } + , boost::coroutines::attributes(2 * 1024 * 1024)); + }); spawn(fn...); }