diff options
Diffstat (limited to 'src/mongo/db/operation_context.cpp')
-rw-r--r-- | src/mongo/db/operation_context.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/mongo/db/operation_context.cpp b/src/mongo/db/operation_context.cpp index a647d0fcbd0..e503c2e071d 100644 --- a/src/mongo/db/operation_context.cpp +++ b/src/mongo/db/operation_context.cpp @@ -382,17 +382,19 @@ OperationContext::RecoveryUnitState OperationContext::setRecoveryUnit(RecoveryUn return oldState; } -std::unique_ptr<Locker> OperationContext::releaseLockState() { - dassert(_locker); - return std::move(_locker); -} - void OperationContext::setLockState(std::unique_ptr<Locker> locker) { - dassert(!_locker); - dassert(locker); + invariant(!_locker); + invariant(locker); _locker = std::move(locker); } +std::unique_ptr<Locker> OperationContext::swapLockState(std::unique_ptr<Locker> locker) { + invariant(_locker); + invariant(locker); + _locker.swap(locker); + return locker; +} + Date_t OperationContext::getExpirationDateForWaitForValue(Milliseconds waitFor) { return getServiceContext()->getPreciseClockSource()->now() + waitFor; } |