summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-03-03 13:53:30 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2022-03-03 13:53:30 +0000
commitda9cd02f57209a4ad8e456d5bae5c38f2c51592b (patch)
tree0d10610cdaee43c8c1bc9c341b530ad3278f7a27 /config
parentfc86d2bd7ff710f24d61c124ae9b4e6c7fd835db (diff)
relative std::this_thread::sleep_for is more efficient than absolute std::this_thread::sleep_until. This is the opposite of std::condition_variable::wait_until/wait_for.
Diffstat (limited to 'config')
-rw-r--r--config/src/vespa/config/subscription/configsubscriptionset.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/config/src/vespa/config/subscription/configsubscriptionset.cpp b/config/src/vespa/config/subscription/configsubscriptionset.cpp
index e106f21e4b2..df913ed961c 100644
--- a/config/src/vespa/config/subscription/configsubscriptionset.cpp
+++ b/config/src/vespa/config/subscription/configsubscriptionset.cpp
@@ -18,7 +18,7 @@ using vespalib::steady_time;
namespace config {
ConfigSubscriptionSet::ConfigSubscriptionSet(std::shared_ptr<IConfigContext> context)
- : _maxNapTime(vespalib::adjustTimeoutByDetectedHz(10ms)),
+ : _maxNapTime(vespalib::adjustTimeoutByDetectedHz(20ms)),
_context(std::move(context)),
_mgr(_context->getManagerInstance()),
_currentGeneration(-1),
@@ -82,7 +82,7 @@ ConfigSubscriptionSet::acquireSnapshot(duration timeout, bool ignoreChange)
lastGeneration = generation;
now = steady_clock::now();
if (!inSync && (now < deadline)) {
- std::this_thread::sleep_until(std::min(now + _maxNapTime, deadline));
+ std::this_thread::sleep_for(std::min(_maxNapTime, deadline - now));
} else {
break;
}