From 58ebc2724aa1d1ceae469cf153bb3e1c7dfa31dd Mon Sep 17 00:00:00 2001
From: Ken Tossell <ken@tossell.net>
Date: Wed, 15 Feb 2012 16:55:50 -0500
Subject: [PATCH] forgot to uvc_exit(ctx) -- driver now closes on sigint

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

diff --git a/libuvc_camera/src/camera_driver.cpp b/libuvc_camera/src/camera_driver.cpp
index 0f89b95..071bf5e 100644
--- a/libuvc_camera/src/camera_driver.cpp
+++ b/libuvc_camera/src/camera_driver.cpp
@@ -50,10 +50,15 @@ bool CameraDriver::Start() {
 void CameraDriver::Stop() {
   boost::recursive_mutex::scoped_lock(mutex_);
 
-  if (state_ == kRunning) {
+  assert(state_ != kInitial);
+
+  if (state_ == kRunning)
     CloseCamera();
-    state_ = kInitial;
-  }
+
+  assert(state_ == kStopped);
+
+  uvc_exit(ctx_);
+  ctx_ = NULL;
 }
 
 void CameraDriver::ReconfigureCallback(UVCCameraConfig &new_config, uint32_t level) {
-- 
GitLab