mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-26 01:51:41 +00:00
Replaced instances of std::unique_lock with std::lock_guard where possible
If a lock is used with a mutex that doesn't need to be unlocked again before the lock is destroyed, std::lock_guard can be more efficient than std::unique_lock due to less overhead. This commit also removes a redundant set of curly braces in PIDController.cpp intended to constrain a lock's scope. Change-Id: Idd692ce439528ddb319a4c62c40c7351a664eb97
This commit is contained in:
committed by
Brad Miller (WPI)
parent
f64b055499
commit
c0ecde302f
@@ -19,7 +19,7 @@ priority_recursive_mutex Resource::m_createLock;
|
||||
* 1].
|
||||
*/
|
||||
Resource::Resource(uint32_t elements) {
|
||||
std::unique_lock<priority_recursive_mutex> sync(m_createLock);
|
||||
std::lock_guard<priority_recursive_mutex> sync(m_createLock);
|
||||
m_isAllocated = std::vector<bool>(elements, false);
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ Resource::Resource(uint32_t elements) {
|
||||
*/
|
||||
/*static*/ void Resource::CreateResourceObject(std::unique_ptr<Resource>& r,
|
||||
uint32_t elements) {
|
||||
std::unique_lock<priority_recursive_mutex> sync(m_createLock);
|
||||
std::lock_guard<priority_recursive_mutex> sync(m_createLock);
|
||||
if (!r) {
|
||||
r = std::make_unique<Resource>(elements);
|
||||
}
|
||||
@@ -48,7 +48,7 @@ Resource::Resource(uint32_t elements) {
|
||||
* within the range is located and returned after it is marked allocated.
|
||||
*/
|
||||
uint32_t Resource::Allocate(const std::string &resourceDesc) {
|
||||
std::unique_lock<priority_recursive_mutex> sync(m_allocateLock);
|
||||
std::lock_guard<priority_recursive_mutex> sync(m_allocateLock);
|
||||
for (uint32_t i = 0; i < m_isAllocated.size(); i++) {
|
||||
if (!m_isAllocated[i]) {
|
||||
m_isAllocated[i] = true;
|
||||
@@ -66,7 +66,7 @@ uint32_t Resource::Allocate(const std::string &resourceDesc) {
|
||||
* unallocated, then returned.
|
||||
*/
|
||||
uint32_t Resource::Allocate(uint32_t index, const std::string &resourceDesc) {
|
||||
std::unique_lock<priority_recursive_mutex> sync(m_allocateLock);
|
||||
std::lock_guard<priority_recursive_mutex> sync(m_allocateLock);
|
||||
if (index >= m_isAllocated.size()) {
|
||||
wpi_setWPIErrorWithContext(ChannelIndexOutOfRange, resourceDesc);
|
||||
return std::numeric_limits<uint32_t>::max();
|
||||
|
||||
Reference in New Issue
Block a user