Attempt to fix close freeze

This commit is contained in:
capitalistspz 2025-03-24 06:33:41 +00:00
parent fd946f63db
commit e9f26a5068

View file

@ -209,10 +209,12 @@ namespace camera
{ {
if (camHandle != CAM_HANDLE) if (camHandle != CAM_HANDLE)
return CAMStatus::InvalidHandle; return CAMStatus::InvalidHandle;
std::scoped_lock lock(s_instance.mutex); {
if (!s_instance.initialized || !s_instance.isOpen) std::scoped_lock lock(s_instance.mutex);
return CAMStatus::Uninitialized; if (!s_instance.initialized || !s_instance.isOpen)
s_instance.isOpen = false; return CAMStatus::Uninitialized;
s_instance.isOpen = false;
}
s_instance.updateThread.join(); s_instance.updateThread.join();
CameraManager::instance().Close(); CameraManager::instance().Close();
return CAMStatus::Success; return CAMStatus::Success;