summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjannaerin <golden.janna@gmail.com>2018-05-25 11:37:23 -0400
committerjannaerin <golden.janna@gmail.com>2018-05-25 11:44:19 -0400
commit1d296f2e5bf33274e52be0b0bbb823e07ad6b8dd (patch)
tree061812080a00bca89641f0676c188bfd779b2cbe
parent848d26c643a91b94c8e27f7ab41d787fbce0ac59 (diff)
downloadmongo-1d296f2e5bf33274e52be0b0bbb823e07ad6b8dd.tar.gz
SERVER-33639 Protect against distlock acquisition timeout at createDatabase time
(cherry picked from commit c1cc37fa0958963427000ec1ac2368efe2ea8177)
-rw-r--r--src/mongo/db/s/config/namespace_serializer.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mongo/db/s/config/namespace_serializer.cpp b/src/mongo/db/s/config/namespace_serializer.cpp
index 35ce38546d3..1f3ba11cbcd 100644
--- a/src/mongo/db/s/config/namespace_serializer.cpp
+++ b/src/mongo/db/s/config/namespace_serializer.cpp
@@ -67,10 +67,10 @@ NamespaceSerializer::ScopedLock NamespaceSerializer::lock(OperationContext* opCt
if (iter == _inProgressMap.end()) {
_inProgressMap.try_emplace(nss, std::make_shared<NSLock>());
} else {
- auto& nsLock = iter->second;
+ auto nsLock = iter->second;
nsLock->numWaiting++;
opCtx->waitForConditionOrInterrupt(
- nsLock->cvLocked, lock, [&nsLock]() { return !nsLock->isInProgress; });
+ nsLock->cvLocked, lock, [nsLock]() { return !nsLock->isInProgress; });
nsLock->isInProgress = true;
}