From e9f26a5068f936d47ae70d0fa492de710cf0a173 Mon Sep 17 00:00:00 2001 From: capitalistspz Date: Mon, 24 Mar 2025 06:33:41 +0000 Subject: [PATCH] Attempt to fix close freeze --- src/Cafe/OS/libs/camera/camera.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Cafe/OS/libs/camera/camera.cpp b/src/Cafe/OS/libs/camera/camera.cpp index b9f3e761..724b17f8 100644 --- a/src/Cafe/OS/libs/camera/camera.cpp +++ b/src/Cafe/OS/libs/camera/camera.cpp @@ -209,10 +209,12 @@ namespace camera { if (camHandle != CAM_HANDLE) return CAMStatus::InvalidHandle; - std::scoped_lock lock(s_instance.mutex); - if (!s_instance.initialized || !s_instance.isOpen) - return CAMStatus::Uninitialized; - s_instance.isOpen = false; + { + std::scoped_lock lock(s_instance.mutex); + if (!s_instance.initialized || !s_instance.isOpen) + return CAMStatus::Uninitialized; + s_instance.isOpen = false; + } s_instance.updateThread.join(); CameraManager::instance().Close(); return CAMStatus::Success;