Replace std::lock_guard and std::lock with std::scoped_lock (#1758)

std::scoped_lock was introduced in C++17 and is strictly better than
std::lock_guard as it supports locking any number of mutexes safely.
It's also easier to use than std::lock for locking multiple mutexes at
once.
This commit is contained in:
Tyler Veness
2019-07-08 22:58:39 -07:00
committed by Peter Johnson
parent 24d31df55a
commit 62be0392b6
79 changed files with 472 additions and 476 deletions

View File

@@ -17,7 +17,7 @@ static wpi::SmallVector<HandleBase*, 32>* globalHandles = nullptr;
static wpi::mutex globalHandleMutex;
HandleBase::HandleBase() {
static wpi::SmallVector<HandleBase*, 32> gH;
std::lock_guard lock(globalHandleMutex);
std::scoped_lock lock(globalHandleMutex);
if (!globalHandles) {
globalHandles = &gH;
}
@@ -30,7 +30,7 @@ HandleBase::HandleBase() {
}
}
HandleBase::~HandleBase() {
std::lock_guard lock(globalHandleMutex);
std::scoped_lock lock(globalHandleMutex);
auto index = std::find(globalHandles->begin(), globalHandles->end(), this);
if (index != globalHandles->end()) {
*index = nullptr;