From 1c774ce50db3ab207340d1ee3141682080a4ed22 Mon Sep 17 00:00:00 2001 From: Horst Schirmeier Date: Wed, 1 Aug 2018 14:14:11 +0200 Subject: [PATCH] JobClient: fix retry delay Only wait for the retry delay if really retrying. Change-Id: If12bd3745c799edc5933874d9a44d049646e0e87 --- src/core/efw/JobClient.cc | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/core/efw/JobClient.cc b/src/core/efw/JobClient.cc index 7b5a04fe..b9ab0bf1 100644 --- a/src/core/efw/JobClient.cc +++ b/src/core/efw/JobClient.cc @@ -83,12 +83,14 @@ bool JobClient::connectToServer() perror("[Client@connect()]"); m_d->socket.close(); - std::uniform_real_distribution<> distribution( - CLIENT_RAND_BACKOFF_TSTART, CLIENT_RAND_BACKOFF_TEND); - const auto delay = std::chrono::duration(distribution(engine)); - cout << "[Client] Retrying to connect to server in ~" << delay.count() - << "s..." << endl; - std::this_thread::sleep_for(delay); + if (tries > 1) { + std::uniform_real_distribution<> distribution( + CLIENT_RAND_BACKOFF_TSTART, CLIENT_RAND_BACKOFF_TEND); + const auto delay = std::chrono::duration(distribution(engine)); + cout << "[Client] Retrying to connect to server in ~" << delay.count() + << "s..." << endl; + std::this_thread::sleep_for(delay); + } } cout << "[Client] Unable to reconnect (tried " << CLIENT_RETRY_COUNT