From 89dd6733b68f11d45f61a441177d31a1f33ccc7d Mon Sep 17 00:00:00 2001 From: YuQing <384681@qq.com> Date: Mon, 22 Feb 2021 21:21:25 +0800 Subject: [PATCH] split to prepare and start due to daemon_init --- src/sf_connection_manager.c | 10 ++++++++-- src/sf_connection_manager.h | 3 +++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/sf_connection_manager.c b/src/sf_connection_manager.c index ad13b26..8b11ad3 100644 --- a/src/sf_connection_manager.c +++ b/src/sf_connection_manager.c @@ -836,9 +836,8 @@ static int sptr_array_alloc_init(void *element, void *args) return 0; } -int sf_connection_manager_start(SFConnectionManager *cm) +int sf_connection_manager_prepare(SFConnectionManager *cm) { - pthread_t tid; int result; int element_size; SFCMConnGroupEntry *group; @@ -871,6 +870,13 @@ int sf_connection_manager_start(SFConnectionManager *cm) __sync_bool_compare_and_swap(&group->alives, NULL, sptr_array); } + return 0; +} + +int sf_connection_manager_start(SFConnectionManager *cm) +{ + pthread_t tid; + if (cm->alive_detect.bg_thread_enabled) { return fc_create_thread(&tid, connection_manager_thread_func, cm, SF_G_THREAD_STACK_SIZE); diff --git a/src/sf_connection_manager.h b/src/sf_connection_manager.h index 6d48235..e9e7237 100644 --- a/src/sf_connection_manager.h +++ b/src/sf_connection_manager.h @@ -151,6 +151,9 @@ static inline int sf_connection_manager_init(SFConnectionManager *cm, int sf_connection_manager_add(SFConnectionManager *cm, const int group_id, FCServerInfo **servers, const int count); +int sf_connection_manager_prepare(SFConnectionManager *cm); + +//start thread int sf_connection_manager_start(SFConnectionManager *cm); #ifdef __cplusplus