diff options
author | Tor Egge <tegge@oath.com> | 2019-01-04 22:45:53 +0000 |
---|---|---|
committer | Tor Egge <tegge@oath.com> | 2019-01-04 22:45:53 +0000 |
commit | a65854f318e3527c6b9acb6c24dc9416f3a53365 (patch) | |
tree | b33cb150667579ff8c6c5a5b12d6914007319bd5 /config | |
parent | a51bf4432797d9db5131a27b0b1136d0541f8587 (diff) |
Change ConfigHolder::wait() to immediately return success if a config
is already held.
Diffstat (limited to 'config')
-rw-r--r-- | config/src/tests/configholder/configholder.cpp | 3 | ||||
-rw-r--r-- | config/src/vespa/config/common/configholder.cpp | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/config/src/tests/configholder/configholder.cpp b/config/src/tests/configholder/configholder.cpp index 2c6fa2016bf..af66b12dc48 100644 --- a/config/src/tests/configholder/configholder.cpp +++ b/config/src/tests/configholder/configholder.cpp @@ -33,8 +33,7 @@ TEST("Require that waiting is done") timer.SetNow(); holder.handle(ConfigUpdate::UP(new ConfigUpdate(value, true, 0))); - holder.wait(100); - ASSERT_TRUE(timer.MilliSecsToNow() >= 100); + ASSERT_TRUE(holder.wait(100)); } TEST("Require that polling for elements work") diff --git a/config/src/vespa/config/common/configholder.cpp b/config/src/vespa/config/common/configholder.cpp index e2e6ae87688..c1b3c885c54 100644 --- a/config/src/vespa/config/common/configholder.cpp +++ b/config/src/vespa/config/common/configholder.cpp @@ -34,7 +34,7 @@ bool ConfigHolder::wait(uint64_t timeoutInMillis) { vespalib::MonitorGuard guard(_monitor); - return guard.wait(timeoutInMillis); + return static_cast<bool>(_current) || guard.wait(timeoutInMillis); } bool |