change sleep seconds when ping tracker leader fail
parent
358fff4ac8
commit
e4c2644db2
|
|
@ -562,9 +562,9 @@ static void *relationship_thread_entrance(void* arg)
|
||||||
int sleep_seconds;
|
int sleep_seconds;
|
||||||
|
|
||||||
fail_count = 0;
|
fail_count = 0;
|
||||||
|
sleep_seconds = 1;
|
||||||
while (g_continue_flag)
|
while (g_continue_flag)
|
||||||
{
|
{
|
||||||
sleep_seconds = 1;
|
|
||||||
if (g_tracker_servers.servers != NULL)
|
if (g_tracker_servers.servers != NULL)
|
||||||
{
|
{
|
||||||
if (g_tracker_servers.leader_index < 0)
|
if (g_tracker_servers.leader_index < 0)
|
||||||
|
|
@ -574,20 +574,26 @@ static void *relationship_thread_entrance(void* arg)
|
||||||
sleep_seconds = 1 + (int)((double)rand()
|
sleep_seconds = 1 + (int)((double)rand()
|
||||||
* (double)MAX_SLEEP_SECONDS / RAND_MAX);
|
* (double)MAX_SLEEP_SECONDS / RAND_MAX);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sleep_seconds = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (relationship_ping_leader() == 0)
|
if (relationship_ping_leader() == 0)
|
||||||
{
|
{
|
||||||
fail_count = 0;
|
fail_count = 0;
|
||||||
|
sleep_seconds = 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fail_count++;
|
sleep_seconds *= 2;
|
||||||
if (fail_count >= 3)
|
if (++fail_count >= 3)
|
||||||
{
|
{
|
||||||
g_tracker_servers.leader_index = -1;
|
g_tracker_servers.leader_index = -1;
|
||||||
fail_count = 0;
|
fail_count = 0;
|
||||||
|
sleep_seconds = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue