[libcamera-devel] [PATCH] libcamera: base: Make MutexLocker(Mutex &mutex) non-blocking
Eric Curtin
ecurtin at redhat.com
Wed Apr 27 17:26:40 CEST 2022
Camera::acquire claims to be non-blocking, in order to achieve this,
std::unique_lock<std::mutex> constructor must be called with
try_to_lock so it doesn't block if a lock cannot be obtained.
Bug: https://bugs.libcamera.org/show_bug.cgi?id=127
Signed-off-by: Eric Curtin <ecurtin at redhat.com>
---
include/libcamera/base/mutex.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/libcamera/base/mutex.h b/include/libcamera/base/mutex.h
index 2d23e49e..c4a5f791 100644
--- a/include/libcamera/base/mutex.h
+++ b/include/libcamera/base/mutex.h
@@ -45,7 +45,7 @@ class LIBCAMERA_TSA_SCOPED_CAPABILITY MutexLocker final
{
public:
explicit MutexLocker(Mutex &mutex) LIBCAMERA_TSA_ACQUIRE(mutex)
- : lock_(mutex.mutex_)
+ : lock_(mutex.mutex_, std::try_to_lock)
{
}
--
2.35.1
More information about the libcamera-devel
mailing list