From eb49e30adc18a8a7f0dfb2df6853b4d8767a2b77 Mon Sep 17 00:00:00 2001 From: youngwolf Date: Thu, 18 Jan 2024 14:35:35 +0800 Subject: [PATCH] Fix a trivial bug, it has no impact, just not wroks as my purpose. --- include/ascs/service_pump.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/ascs/service_pump.h b/include/ascs/service_pump.h index 2368865..850a7ba 100644 --- a/include/ascs/service_pump.h +++ b/include/ascs/service_pump.h @@ -93,12 +93,12 @@ public: #if ASIO_VERSION >= 101200 #ifdef ASCS_DECREASE_THREAD_AT_RUNTIME - service_pump(int concurrency_hint = ASIO_CONCURRENCY_HINT_SAFE) : started(false), first(false), real_thread_num(0), del_thread_num(0), single_ctx(true) + service_pump(int concurrency_hint = ASIO_CONCURRENCY_HINT_SAFE) : started(false), first(true), real_thread_num(0), del_thread_num(0), single_ctx(true) {context_can.emplace_back(concurrency_hint);} #else //basically, the parameter multi_ctx is designed to be used by single_service_pump, which means single_service_pump always think it's using multiple io_context //for service_pump, you should use set_io_context_num function instead if you really need multiple io_context. - service_pump(int concurrency_hint = ASIO_CONCURRENCY_HINT_SAFE, bool multi_ctx = false) : started(false), first(false), single_ctx(!multi_ctx) + service_pump(int concurrency_hint = ASIO_CONCURRENCY_HINT_SAFE, bool multi_ctx = false) : started(false), first(true), single_ctx(!multi_ctx) {context_can.emplace_back(concurrency_hint);} bool set_io_context_num(int io_context_num, int concurrency_hint = ASIO_CONCURRENCY_HINT_SAFE) //call this before construct any services on this service_pump { @@ -115,11 +115,11 @@ public: #endif #else #ifdef ASCS_DECREASE_THREAD_AT_RUNTIME - service_pump() : started(false), first(false), real_thread_num(0), del_thread_num(0), single_ctx(true), context_can(1) {} + service_pump() : started(false), first(true), real_thread_num(0), del_thread_num(0), single_ctx(true), context_can(1) {} #else //basically, the parameter multi_ctx is designed to be used by single_service_pump, which means single_service_pump always think it's using multiple io_context //for service_pump, you should use set_io_context_num function instead if you really need multiple io_context. - service_pump(bool multi_ctx = false) : started(false), first(false), single_ctx(!multi_ctx), context_can(1) {} + service_pump(bool multi_ctx = false) : started(false), first(true), single_ctx(!multi_ctx), context_can(1) {} bool set_io_context_num(int io_context_num) //call this before construct any services on this service_pump { if (io_context_num < 1 || is_service_started() || context_can.size() > 1) //can only be called once -- GitLab