summaryrefslogtreecommitdiff
path: root/src/mongo/db/concurrency/d_concurrency.cpp
diff options
context:
space:
mode:
authorKaloian Manassiev <kaloian.manassiev@mongodb.com>2014-10-07 12:00:20 -0400
committerKaloian Manassiev <kaloian.manassiev@mongodb.com>2014-10-07 12:01:03 -0400
commit2b7b105b3c26bc779d30d3c7ec4b93a0115569a8 (patch)
treeb5420116eed11e15cc41b212ee26b39a25426941 /src/mongo/db/concurrency/d_concurrency.cpp
parentc4f1421ec0e64832f7d79c5bcd624a8cf93452d9 (diff)
downloadmongo-2b7b105b3c26bc779d30d3c7ec4b93a0115569a8.tar.gz
SERVER-14668 Change read paths to acquire IS lock on the DB instead of S
Also change respective assertions, which are checking for S-lock on the database.
Diffstat (limited to 'src/mongo/db/concurrency/d_concurrency.cpp')
-rw-r--r--src/mongo/db/concurrency/d_concurrency.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mongo/db/concurrency/d_concurrency.cpp b/src/mongo/db/concurrency/d_concurrency.cpp
index bdd78c68f83..1e33f5246e7 100644
--- a/src/mongo/db/concurrency/d_concurrency.cpp
+++ b/src/mongo/db/concurrency/d_concurrency.cpp
@@ -259,11 +259,11 @@ namespace mongo {
_lockState->lockGlobal(isRead ? newlm::MODE_IS : newlm::MODE_IX);
- if (supportsDocLocking()) {
+ if (supportsDocLocking() || isRead) {
_lockState->lock(_id, _mode);
}
else {
- _lockState->lock(_id, isRead ? newlm::MODE_S : newlm::MODE_X);
+ _lockState->lock(_id, newlm::MODE_X);
}
resetTime();