diff --git a/src/transport_layer/etcp_connections.c b/src/transport_layer/etcp_connections.c index 6963c1ae..5edbe736 100644 --- a/src/transport_layer/etcp_connections.c +++ b/src/transport_layer/etcp_connections.c @@ -1168,8 +1168,8 @@ static void tcp_link_close_cb(struct stcp_link *sl, int err, void *arg) { } } else { DEBUG_INFO(DEBUG_CATEGORY_ETCP, "[%s] TCP link %d down err=%d, scheduling reconnect", link->etcp->log_name, link->local_link_id, err); - etcp_on_link_down(link->etcp, link); - etcp_tcp_link_start_reconnect(link); + etcp_on_link_down(etcp, link); + if (etcp->state != 2) etcp_tcp_link_start_reconnect(link); } }