Support BOOST_ASIO_NO_TS_EXECUTORS

This commit is contained in:
Richard Hodges
2020-07-04 07:35:14 +02:00
parent 5f1adfbc6d
commit 060f59685c
20 changed files with 285 additions and 92 deletions
@@ -35,8 +35,8 @@ protected:
net::io_context ioc_;
private:
net::executor_work_guard<
net::io_context::executor_type> work_;
detail::select_work_guard_t<net::io_context::executor_type>
work_;
std::vector<std::thread> threads_;
std::mutex m_;
std::condition_variable cv_;
@@ -49,7 +49,7 @@ public:
explicit
enable_yield_to(std::size_t concurrency = 1)
: work_(ioc_.get_executor())
: work_(detail::make_work_guard(ioc_.get_executor()))
{
threads_.reserve(concurrency);
while(concurrency--)
@@ -136,4 +136,5 @@ spawn(F0&& f, FN&&... fn)
} // beast
} // boost
#endif