Skip to content
Snippets Groups Projects
Commit 761f62ee authored by roman.padenkov's avatar roman.padenkov Committed by Roman Khlopkov
Browse files

bugs-9200

parent 81ce7ad2
No related branches found
No related tags found
1 merge request!1190bugs-9200
...@@ -1119,18 +1119,20 @@ static bool s_new_balancer_link_request(dap_chain_net_t *a_net, int a_link_repla ...@@ -1119,18 +1119,20 @@ static bool s_new_balancer_link_request(dap_chain_net_t *a_net, int a_link_repla
pthread_mutex_unlock(&l_net_pvt->uplinks_mutex); pthread_mutex_unlock(&l_net_pvt->uplinks_mutex);
return false; return false;
} }
dap_chain_node_info_t *l_link_full_node = dap_chain_net_balancer_get_node(a_net->pub.name); if(!a_link_replace_tries){
if(l_link_full_node) dap_chain_node_info_t *l_link_full_node = dap_chain_net_balancer_get_node(a_net->pub.name);
{ if(l_link_full_node)
log_it(L_DEBUG, "Network LOCAL balancer issues ip %s",inet_ntoa(l_link_full_node->hdr.ext_addr_v4)); {
pthread_rwlock_rdlock(&PVT(a_net)->states_lock); log_it(L_DEBUG, "Network LOCAL balancer issues ip %s",inet_ntoa(l_link_full_node->hdr.ext_addr_v4));
s_net_link_add(a_net, l_link_full_node); pthread_rwlock_rdlock(&PVT(a_net)->states_lock);
DAP_DELETE(l_link_full_node); s_net_link_add(a_net, l_link_full_node);
struct net_link *l_free_link = s_get_free_link(a_net); DAP_DELETE(l_link_full_node);
if (l_free_link) struct net_link *l_free_link = s_get_free_link(a_net);
s_net_link_start(a_net, l_free_link, l_net_pvt->reconnect_delay); if (l_free_link)
pthread_rwlock_unlock(&PVT(a_net)->states_lock); s_net_link_start(a_net, l_free_link, l_net_pvt->reconnect_delay);
return false; pthread_rwlock_unlock(&PVT(a_net)->states_lock);
return false;
}
} }
dap_chain_node_info_t *l_link_node_info = dap_get_balancer_link_from_cfg(a_net); dap_chain_node_info_t *l_link_node_info = dap_get_balancer_link_from_cfg(a_net);
if (!l_link_node_info) if (!l_link_node_info)
...@@ -1142,8 +1144,7 @@ static bool s_new_balancer_link_request(dap_chain_net_t *a_net, int a_link_repla ...@@ -1142,8 +1144,7 @@ static bool s_new_balancer_link_request(dap_chain_net_t *a_net, int a_link_repla
l_balancer_request->net = a_net; l_balancer_request->net = a_net;
l_balancer_request->link_info = l_link_node_info; l_balancer_request->link_info = l_link_node_info;
l_balancer_request->worker = dap_events_worker_get_auto(); l_balancer_request->worker = dap_events_worker_get_auto();
if (a_link_replace_tries) l_balancer_request->link_replace_tries = a_link_replace_tries + 1;
l_balancer_request->link_replace_tries = a_link_replace_tries + 1;
int ret; int ret;
if (PVT(a_net)->balancer_http) { if (PVT(a_net)->balancer_http) {
l_balancer_request->from_http = true; l_balancer_request->from_http = true;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment