summaryrefslogtreecommitdiff
path: root/src/mongo/db/concurrency
diff options
context:
space:
mode:
authorTess Avitabile <tess.avitabile@mongodb.com>2018-05-18 15:46:09 -0400
committerTess Avitabile <tess.avitabile@mongodb.com>2018-05-18 17:04:36 -0400
commit6ab1592260c9b21d802aa65a11d268c0a97b11a7 (patch)
treec0bf5ec600ebd81bcd71ca2fd4c99ba3fdfa5921 /src/mongo/db/concurrency
parent59239fadc01de57490a56990ee125a1ea44fb126 (diff)
downloadmongo-6ab1592260c9b21d802aa65a11d268c0a97b11a7.tar.gz
SERVER-34726 Lock acquisitions for profiling in transaction have 0 second timeout
Diffstat (limited to 'src/mongo/db/concurrency')
-rw-r--r--src/mongo/db/concurrency/lock_state.h4
-rw-r--r--src/mongo/db/concurrency/locker.h5
-rw-r--r--src/mongo/db/concurrency/locker_noop.h4
3 files changed, 13 insertions, 0 deletions
diff --git a/src/mongo/db/concurrency/lock_state.h b/src/mongo/db/concurrency/lock_state.h
index 7a5d68e6ebf..0cf5081fb6b 100644
--- a/src/mongo/db/concurrency/lock_state.h
+++ b/src/mongo/db/concurrency/lock_state.h
@@ -122,6 +122,10 @@ public:
_maxLockTimeout = maxTimeout;
}
+ bool hasMaxLockTimeout() override {
+ return static_cast<bool>(_maxLockTimeout);
+ }
+
void unsetMaxLockTimeout() override {
_maxLockTimeout = boost::none;
}
diff --git a/src/mongo/db/concurrency/locker.h b/src/mongo/db/concurrency/locker.h
index ad39397979b..8310fc866e4 100644
--- a/src/mongo/db/concurrency/locker.h
+++ b/src/mongo/db/concurrency/locker.h
@@ -124,6 +124,11 @@ public:
virtual void setMaxLockTimeout(Milliseconds maxTimeout) = 0;
/**
+ * Returns whether this Locker has a maximum lock timeout set.
+ */
+ virtual bool hasMaxLockTimeout() = 0;
+
+ /**
* Clears the max lock timeout override set by setMaxLockTimeout() above.
*/
virtual void unsetMaxLockTimeout() = 0;
diff --git a/src/mongo/db/concurrency/locker_noop.h b/src/mongo/db/concurrency/locker_noop.h
index 530a9cd6263..590489f255f 100644
--- a/src/mongo/db/concurrency/locker_noop.h
+++ b/src/mongo/db/concurrency/locker_noop.h
@@ -73,6 +73,10 @@ public:
MONGO_UNREACHABLE;
}
+ bool hasMaxLockTimeout() override {
+ MONGO_UNREACHABLE;
+ }
+
void unsetMaxLockTimeout() override {
MONGO_UNREACHABLE;
}