diff options
author | Jordi Olivares Provencio <jordi.olivares-provencio@mongodb.com> | 2022-03-16 12:10:51 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-03-16 12:55:06 +0000 |
commit | 8f472181ea556fc01a1de53ab960e7b5d610b74b (patch) | |
tree | 7f119ec0cb152df1c4c19578888af308cc00fbf7 /src/mongo/db/concurrency/lock_manager.cpp | |
parent | e102dbba6cd1f5b99991089b90e841007bef16d7 (diff) | |
download | mongo-8f472181ea556fc01a1de53ab960e7b5d610b74b.tar.gz |
SERVER-64170 Refactor static variables into decorations
Diffstat (limited to 'src/mongo/db/concurrency/lock_manager.cpp')
-rw-r--r-- | src/mongo/db/concurrency/lock_manager.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/mongo/db/concurrency/lock_manager.cpp b/src/mongo/db/concurrency/lock_manager.cpp index 0737febeb25..5650d282ee6 100644 --- a/src/mongo/db/concurrency/lock_manager.cpp +++ b/src/mongo/db/concurrency/lock_manager.cpp @@ -47,6 +47,7 @@ #include "mongo/db/service_context.h" #include "mongo/logv2/log.h" #include "mongo/util/assert_util.h" +#include "mongo/util/concurrency/ticketholder.h" #include "mongo/util/decorable.h" #include "mongo/util/str.h" #include "mongo/util/timer.h" @@ -878,6 +879,24 @@ void LockManager::getLockInfoBSON(const std::map<LockerId, BSONObj>& lockToClien _buildLocksArray(lockToClientMap, false, this, &lockInfoArr); } +void LockManager::setTicketHolders(std::unique_ptr<TicketHolder> reading, + std::unique_ptr<TicketHolder> writing) { + _readingTicketholder = std::move(reading); + _writingTicketholder = std::move(writing); +} + +TicketHolder* LockManager::getTicketHolder(LockMode mode) { + switch (mode) { + case MODE_IS: + case MODE_S: + return _readingTicketholder.get(); + case MODE_IX: + return _writingTicketholder.get(); + default: + return nullptr; + } +} + void LockManager::_buildLocksArray(const std::map<LockerId, BSONObj>& lockToClientMap, bool forLogging, LockManager* mutableThis, |