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:
Tyler Veness
2015-09-01 16:47:57 -07:00
committed by Brad Miller (WPI)
parent f64b055499
commit c0ecde302f
20 changed files with 225 additions and 227 deletions

View File

@@ -35,14 +35,14 @@ void CameraServer::FreeImageData(
if (std::get<3>(imageData))
imaqDispose(std::get<0>(imageData));
else if (std::get<0>(imageData) != nullptr) {
std::unique_lock<priority_recursive_mutex> lock(m_imageMutex);
std::lock_guard<priority_recursive_mutex> lock(m_imageMutex);
m_dataPool.push_back(std::get<0>(imageData));
}
}
void CameraServer::SetImageData(uint8_t* data, unsigned int size,
unsigned int start, bool imaqData) {
std::unique_lock<priority_recursive_mutex> lock(m_imageMutex);
std::lock_guard<priority_recursive_mutex> lock(m_imageMutex);
FreeImageData(m_imageData);
m_imageData = std::make_tuple(data, size, start, imaqData);
m_newImageVariable.notify_all();
@@ -58,7 +58,7 @@ void CameraServer::SetImage(Image const* image) {
bool hwClient;
{
// Make a local copy of the hwClient variable so that we can safely use it.
std::unique_lock<priority_recursive_mutex> lock(m_imageMutex);
std::lock_guard<priority_recursive_mutex> lock(m_imageMutex);
hwClient = m_hwClient;
}
unsigned int start = 0;
@@ -83,7 +83,7 @@ void CameraServer::AutoCapture() {
bool hwClient;
uint8_t* data = nullptr;
{
std::unique_lock<priority_recursive_mutex> lock(m_imageMutex);
std::lock_guard<priority_recursive_mutex> lock(m_imageMutex);
hwClient = m_hwClient;
if (hwClient) {
data = m_dataPool.back();
@@ -109,7 +109,7 @@ void CameraServer::StartAutomaticCapture(char const* cameraName) {
}
void CameraServer::StartAutomaticCapture(std::shared_ptr<USBCamera> camera) {
std::unique_lock<priority_recursive_mutex> lock(m_imageMutex);
std::lock_guard<priority_recursive_mutex> lock(m_imageMutex);
if (m_autoCaptureStarted) return;
m_camera = camera;
@@ -121,12 +121,12 @@ void CameraServer::StartAutomaticCapture(std::shared_ptr<USBCamera> camera) {
}
bool CameraServer::IsAutoCaptureStarted() {
std::unique_lock<priority_recursive_mutex> lock(m_imageMutex);
std::lock_guard<priority_recursive_mutex> lock(m_imageMutex);
return m_autoCaptureStarted;
}
void CameraServer::SetSize(unsigned int size) {
std::unique_lock<priority_recursive_mutex> lock(m_imageMutex);
std::lock_guard<priority_recursive_mutex> lock(m_imageMutex);
if (!m_camera) return;
if (size == kSize160x120)
m_camera->SetSize(160, 120);
@@ -137,12 +137,12 @@ void CameraServer::SetSize(unsigned int size) {
}
void CameraServer::SetQuality(unsigned int quality) {
std::unique_lock<priority_recursive_mutex> lock(m_imageMutex);
std::lock_guard<priority_recursive_mutex> lock(m_imageMutex);
m_quality = quality > 100 ? 100 : quality;
}
unsigned int CameraServer::GetQuality() {
std::unique_lock<priority_recursive_mutex> lock(m_imageMutex);
std::lock_guard<priority_recursive_mutex> lock(m_imageMutex);
return m_quality;
}