diff options
author | Andy Schwerin <schwerin@mongodb.com> | 2015-05-07 16:45:29 -0400 |
---|---|---|
committer | Andy Schwerin <schwerin@mongodb.com> | 2015-05-12 09:57:33 -0400 |
commit | 9aac625685811873ffbc2d3e8d09531eff1ce10e (patch) | |
tree | ecd8dd9fc9d148b196c6ab2aa5e38e5f9e327c54 /src/mongo/db/auth/user_cache_invalidator_job.cpp | |
parent | 21a16d229bdba571f1118a419898b666c666b869 (diff) | |
download | mongo-9aac625685811873ffbc2d3e8d09531eff1ce10e.tar.gz |
SERVER-13874 Make mongo::Milliseconds et al. aliases for equivalent stdx::chrono types.
Also introduces operators for adding stdx::chrono::duration to Date_t,
subtracting two Date_ts to get Milliseconds, and remove the use of
reinterpret_cast from the implementation of BSON Timestamp type.
Diffstat (limited to 'src/mongo/db/auth/user_cache_invalidator_job.cpp')
-rw-r--r-- | src/mongo/db/auth/user_cache_invalidator_job.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/mongo/db/auth/user_cache_invalidator_job.cpp b/src/mongo/db/auth/user_cache_invalidator_job.cpp index 7669d0201bc..f6a17cba04a 100644 --- a/src/mongo/db/auth/user_cache_invalidator_job.cpp +++ b/src/mongo/db/auth/user_cache_invalidator_job.cpp @@ -138,14 +138,11 @@ namespace { while (true) { boost::unique_lock<boost::mutex> lock(invalidationIntervalMutex); - Date_t sleepUntil = Date_t( - lastInvalidationTime.millis + userCacheInvalidationIntervalSecs * 1000); + Date_t sleepUntil = lastInvalidationTime + Seconds(userCacheInvalidationIntervalSecs); Date_t now(curTimeMillis64()); - while (now.millis < sleepUntil.millis) { - invalidationIntervalChangedCondition.timed_wait(lock, - Milliseconds(sleepUntil - now)); - sleepUntil = Date_t( - lastInvalidationTime.millis + (userCacheInvalidationIntervalSecs * 1000)); + while (now < sleepUntil) { + invalidationIntervalChangedCondition.wait_for(lock, sleepUntil - now); + sleepUntil = lastInvalidationTime + Seconds(userCacheInvalidationIntervalSecs); now = Date_t(curTimeMillis64()); } lastInvalidationTime = now; |