From 375b0b5ee8d0acca10ad7eb910a5f6752f1cde52 Mon Sep 17 00:00:00 2001 From: Mohammad Nejati Date: Mon, 8 Jul 2024 06:37:08 +0000 Subject: [PATCH] server-flex-awaitable: connections get their own strand --- .../advanced_server_flex_awaitable.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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)