diff options
author | Gregory Wlodarek <gregory.wlodarek@mongodb.com> | 2019-04-05 10:41:11 -0400 |
---|---|---|
committer | Gregory Wlodarek <gregory.wlodarek@mongodb.com> | 2019-04-05 21:32:00 -0400 |
commit | e56e95ffb6ea8edf9c3f500ec8b6a12d92ed9498 (patch) | |
tree | e4b8e06e17fdf4ed63244019c19e6519c0c26a07 /src/mongo/db | |
parent | 0b4f23cf6567c05023e43d46729c6aa8712d7003 (diff) | |
download | mongo-e56e95ffb6ea8edf9c3f500ec8b6a12d92ed9498.tar.gz |
SERVER-40481 Fix data race in UUIDCatalog::iterator::iterator()
Diffstat (limited to 'src/mongo/db')
-rw-r--r-- | src/mongo/db/catalog/uuid_catalog.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mongo/db/catalog/uuid_catalog.cpp b/src/mongo/db/catalog/uuid_catalog.cpp index 8eba8c56860..9e83652c544 100644 --- a/src/mongo/db/catalog/uuid_catalog.cpp +++ b/src/mongo/db/catalog/uuid_catalog.cpp @@ -105,6 +105,8 @@ private: UUIDCatalog::iterator::iterator(StringData dbName, uint64_t genNum, const UUIDCatalog& uuidCatalog) : _dbName(dbName), _genNum(genNum), _uuidCatalog(&uuidCatalog) { auto minUuid = UUID::parse("00000000-0000-0000-0000-000000000000").getValue(); + + stdx::lock_guard<stdx::mutex> lock(_uuidCatalog->_catalogLock); _mapIter = _uuidCatalog->_orderedCollections.lower_bound(std::make_pair(_dbName, minUuid)); // The entry _mapIter points to is valid if it's not at the end of _orderedCollections and |