From e1886d04fb8fcd548be1d2ac08e8c06a5ea17138 Mon Sep 17 00:00:00 2001
From: Jason Mercer <jmercer@clearpathrobotics.com>
Date: Tue, 13 Dec 2016 08:56:26 -0500
Subject: [PATCH] Fixed locks so they stay in scope until end of method.

---
 libuvc_camera/src/camera_driver.cpp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libuvc_camera/src/camera_driver.cpp b/libuvc_camera/src/camera_driver.cpp
index 5b6e611..fd03bbc 100644
--- a/libuvc_camera/src/camera_driver.cpp
+++ b/libuvc_camera/src/camera_driver.cpp
@@ -84,7 +84,7 @@ bool CameraDriver::Start() {
 }
 
 void CameraDriver::Stop() {
-  boost::recursive_mutex::scoped_lock(mutex_);
+  boost::recursive_mutex::scoped_lock lock(mutex_);
 
   assert(state_ != kInitial);
 
@@ -100,7 +100,7 @@ void CameraDriver::Stop() {
 }
 
 void CameraDriver::ReconfigureCallback(UVCCameraConfig &new_config, uint32_t level) {
-  boost::recursive_mutex::scoped_lock(mutex_);
+  boost::recursive_mutex::scoped_lock lock(mutex_);
 
   if ((level & kReconfigureClose) == kReconfigureClose) {
     if (state_ == kRunning)
@@ -167,7 +167,7 @@ void CameraDriver::ImageCallback(uvc_frame_t *frame) {
     timestamp = ros::Time::now();
   }
 
-  boost::recursive_mutex::scoped_lock(mutex_);
+  boost::recursive_mutex::scoped_lock lock(mutex_);
 
   assert(state_ == kRunning);
   assert(rgb_frame_);
@@ -247,7 +247,7 @@ void CameraDriver::AutoControlsCallback(
   int selector,
   enum uvc_status_attribute status_attribute,
   void *data, size_t data_len) {
-  boost::recursive_mutex::scoped_lock(mutex_);
+  boost::recursive_mutex::scoped_lock lock(mutex_);
 
   printf("Controls callback. class: %d, event: %d, selector: %d, attr: %d, data_len: %zu\n",
          status_class, event, selector, status_attribute, data_len);
-- 
GitLab