fix: add xcecli_ctx_fini() before continue in HA candidate loop (resource leak)

This commit is contained in:
Rongsong Shen 2026-05-08 03:15:26 +00:00
parent b75703ba6b
commit 9bc84f1ca1
2 changed files with 5 additions and 1 deletions

View file

@ -445,6 +445,7 @@ int sched_init(xce_scheduler_t* sched, xce_client_config_t* config,
rc = xcecli_start(sched->apictx); rc = xcecli_start(sched->apictx);
if (rc < 0) { if (rc < 0) {
xcecli_ctx_fini(sched->apictx); /* free before next attempt */
continue; continue;
} }
@ -454,8 +455,9 @@ int sched_init(xce_scheduler_t* sched, xce_client_config_t* config,
break; break;
} }
/* Standby replied — try next candidate */ /* Standby replied — tear down fully before next attempt */
xcecli_stop(sched->apictx); xcecli_stop(sched->apictx);
xcecli_ctx_fini(sched->apictx);
} }
if (!joined) { if (!joined) {

View file

@ -265,6 +265,7 @@ int xcecd_join_cluster(hostattrs_t* attrs)
XCECD_LOG(XCE_LOG_WARN, XCECD_LOG(XCE_LOG_WARN,
"xcecd_join_cluster: connect to %s:%d failed (rc=%d)", "xcecd_join_cluster: connect to %s:%d failed (rc=%d)",
host, port, rc); host, port, rc);
xcecli_ctx_fini(xcecli_ctx); /* free context before next attempt */
continue; continue;
} }
@ -282,6 +283,7 @@ int xcecd_join_cluster(hostattrs_t* attrs)
"(likely standby redirect), trying next", "(likely standby redirect), trying next",
host, port, rc); host, port, rc);
xcecli_stop(xcecli_ctx); xcecli_stop(xcecli_ctx);
xcecli_ctx_fini(xcecli_ctx); /* free context before next attempt */
} }
XCECD_LOG(XCE_LOG_ERROR, XCECD_LOG(XCE_LOG_ERROR,