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-24 20:03:37 +0000
commit92d8c8e3aaf9b4914db3b9fd4a10ef3bb9595f07 (patch)
treeeae3802ae76aa229030be156571f91573d59b5bc
parent99c3c2646023945d95df954078a334a80b413077 (diff)
downloadmongo-92d8c8e3aaf9b4914db3b9fd4a10ef3bb9595f07.tar.gz
SERVER-71568 Fix race condition related to access to ChangeStreamOptions
-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