diff --git a/example/advanced/server-flex-awaitable/advanced_server_flex_awaitable.cpp b/example/advanced/server-flex-awaitable/advanced_server_flex_awaitable.cpp index 5e2c7586..f5da650b 100644 --- a/example/advanced/server-flex-awaitable/advanced_server_flex_awaitable.cpp +++ b/example/advanced/server-flex-awaitable/advanced_server_flex_awaitable.cpp @@ -498,7 +498,9 @@ listen( while(!cs.cancelled()) { - auto [ec, socket] = co_await acceptor.async_accept(net::as_tuple); + auto socket_executor = net::make_strand(executor.get_inner_executor()); + auto [ec, socket] = + co_await acceptor.async_accept(socket_executor, net::as_tuple); if(ec == net::error::operation_aborted) co_return; @@ -507,7 +509,7 @@ listen( throw boost::system::system_error{ ec }; net::co_spawn( - net::make_strand(executor.get_inner_executor()), + std::move(socket_executor), detect_session(stream_type{ std::move(socket) }, ctx, doc_root), task_group.adapt( [](std::exception_ptr e)