Recheck expired down lifetime when the last NCD owner releases it

This commit is contained in:
evgeny committed 2026-10-12 01:34:44 +02:00
1 parent 11f1a14063
commit fdaa20977d
2 files changed
+28 -4

No files matched your search

+3 -1
View File
@@ -1155,7 +1155,9 @@ static void ncd_handle_close(struct NODE_CONN_DIRECT* h, int force) {
if (!conn->links_up) {
DEBUG_INFO(DEBUG_CATEGORY_NCD, "[ncd] last handle released while DOWN, retaining until ETCP timeout node=%016llx",
(unsigned long long)entry->node_id);
ncd_finish(entry, 0); return;
ncd_finish(entry, 0);
if (etcp_conn_schedule_down_close(conn) < 0) etcp_connection_close(conn);
return;
}
if (entry->connect_timer) { uasync_cancel_timeout(entry->ua, entry->connect_timer); entry->connect_timer = NULL; }
conn->fin_wait = 1; conn->fin_wait_clear_cb = ncd_fin_wait_cancelled; conn->fin_wait_clear_arg = entry;