diff options
| author | fengweihao <[email protected]> | 2021-05-25 15:28:00 +0800 |
|---|---|---|
| committer | fengweihao <[email protected]> | 2021-05-25 15:28:00 +0800 |
| commit | 8077136bc7d112727a97ccaee1a9a787e2d67cb8 (patch) | |
| tree | 1df788d4fe39073b485f2b6b0a29509a1dcdb667 | |
| parent | 3f0c7edd354ff798dd7bd9d4ff809a2bd96dc9b3 (diff) | |
修复线程初始化顺序导致Redis异步建联失败问题v2.1.8-20210604
| -rw-r--r-- | program/src/cert_conf.cpp | 1 | ||||
| -rw-r--r-- | program/src/cert_session.cpp | 22 |
2 files changed, 15 insertions, 8 deletions
diff --git a/program/src/cert_conf.cpp b/program/src/cert_conf.cpp index 4606603..c4816ff 100644 --- a/program/src/cert_conf.cpp +++ b/program/src/cert_conf.cpp @@ -123,7 +123,6 @@ static int load_module_config(const char *config) mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Certsotre redis port invalid"); goto finish; } - finish: return xret; } diff --git a/program/src/cert_session.cpp b/program/src/cert_session.cpp index 8897f96..0753aa7 100644 --- a/program/src/cert_session.cpp +++ b/program/src/cert_session.cpp @@ -2015,24 +2015,32 @@ redis_link_detection(uint32_t __attribute__((__unused__)) uid, x509_forge_thread *threads = (x509_forge_thread *)argv; unsigned int thread_nu = cfg_instanec()->thread_nu; - for (tid = 0; tid < (int)thread_nu; tid++) { + for (tid = 0; tid < (int)thread_nu; tid++) + { info = threads + tid; - if(info->sync == NULL){ + if(info->sync == NULL && info->base != NULL) + { redisFree(info->sync); xret = redis_sync_init(&info->sync); - if (xret < 0 || !info->sync){ + if (xret < 0 || !info->sync) + { mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "[%d]trying to connect sync redis failed", tid); continue; - }else{ + } + else + { mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "[%d]trying to connect sync redis success", tid); } if(cfg_instanec()->mode) { - xret = redis_rsync_init(info->base, &info->cl_ctx); - if (xret < 0 || !info->cl_ctx){ + xret = redis_rsync_init(info->base, &info->cl_ctx); + if (xret < 0 || !info->cl_ctx) + { mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "[%d]trying to connect rsync redis failed", tid); - }else{ + } + else + { mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "[%d]trying to connect rsync redis success", tid); } } |
