[libcamera-devel] libcamera: base: Make MutexLocker(Mutex &mutex) non-blocking
diff mbox series

Message ID 20220427145150.4710-1-ecurtin@redhat.com
State Superseded
Headers show
Series
  • [libcamera-devel] libcamera: base: Make MutexLocker(Mutex &mutex) non-blocking
Related show

Commit Message

Eric Curtin April 27, 2022, 2:51 p.m. UTC
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@redhat.com>
---
 include/libcamera/base/mutex.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Patch
diff mbox series

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)
 	{
 	}