summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMindaugas Malinauskas <mindaugas.malinauskas@mongodb.com>2022-11-24 15:05:08 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-11-30 13:11:40 +0000
commite62af19b574822b1f0b379b4b6e0653765f7f765 (patch)
tree2a8ad898aa8b39e98092f5d85c81593260cf0741
parente7b8e61a29c8152fe916b8ce7339f7767ac538e8 (diff)
downloadmongo-e62af19b574822b1f0b379b4b6e0653765f7f765.tar.gz
SERVER-71568 Fix race condition related to access to ChangeStreamOptions
(cherry picked from commit 92d8c8e3aaf9b4914db3b9fd4a10ef3bb9595f07)
-rw-r--r--src/mongo/db/change_stream_options_manager.cpp2
-rw-r--r--src/mongo/db/change_stream_options_manager.h4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/mongo/db/change_stream_options_manager.cpp b/src/mongo/db/change_stream_options_manager.cpp
index a9a417aede6..4832b1dc2e4 100644
--- a/src/mongo/db/change_stream_options_manager.cpp
+++ b/src/mongo/db/change_stream_options_manager.cpp
@@ -57,7 +57,7 @@ void ChangeStreamOptionsManager::create(ServiceContext* service) {
getChangeStreamOptionsManager(service).emplace(service);
}
-const ChangeStreamOptions& ChangeStreamOptionsManager::getOptions(OperationContext* opCtx) {
+ChangeStreamOptions ChangeStreamOptionsManager::getOptions(OperationContext* opCtx) const {
stdx::lock_guard<Latch> L(_mutex);
return _changeStreamOptions;
}
diff --git a/src/mongo/db/change_stream_options_manager.h b/src/mongo/db/change_stream_options_manager.h
index 28580deb810..364c51c535c 100644
--- a/src/mongo/db/change_stream_options_manager.h
+++ b/src/mongo/db/change_stream_options_manager.h
@@ -68,7 +68,7 @@ public:
/**
* Returns the change-streams options.
*/
- const ChangeStreamOptions& getOptions(OperationContext* opCtx);
+ ChangeStreamOptions getOptions(OperationContext* opCtx) const;
/**
* Sets the provided change-streams options. Returns OK on success, otherwise appropriate error
@@ -87,7 +87,7 @@ public:
private:
ChangeStreamOptions _changeStreamOptions;
- Mutex _mutex = MONGO_MAKE_LATCH("ChangeStreamOptionsManager::mutex");
+ mutable Mutex _mutex = MONGO_MAKE_LATCH("ChangeStreamOptionsManager::mutex");
};
} // namespace mongo