summaryrefslogtreecommitdiff
path: root/include/libcamera/base/thread.h
diff options
context:
space:
mode:
authorHirokazu Honda <hiroh@chromium.org>2021-12-01 16:53:41 +0900
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2021-12-01 13:46:47 +0200
commitc17f172842d17b6036e10b1775e89d0219c3b3f9 (patch)
tree6ce969f3be6e8d000c3ad9eb8eb6c351ac3b008c /include/libcamera/base/thread.h
parent16efd83f5dafb8261aac2e955576bc7d474043f9 (diff)
libcamera: base: Add mutex classes with thread safety annotations
This replaces Mutex and MutexLocker with our own defined classes. The classes are annotated by clang thread safety annotations. So we can add annotation to code where the classes are used. v4l2 code needs to be annotated, which violates Mutex capability. Signed-off-by: Hirokazu Honda <hiroh@chromium.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Umang Jain <umang.jain@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'include/libcamera/base/thread.h')
-rw-r--r--include/libcamera/base/thread.h7
1 files changed, 1 insertions, 6 deletions
diff --git a/include/libcamera/base/thread.h b/include/libcamera/base/thread.h
index 1ebf8363..44678c34 100644
--- a/include/libcamera/base/thread.h
+++ b/include/libcamera/base/thread.h
@@ -7,15 +7,14 @@
#pragma once
-#include <condition_variable>
#include <memory>
-#include <mutex>
#include <sys/types.h>
#include <thread>
#include <libcamera/base/private.h>
#include <libcamera/base/message.h>
+#include <libcamera/base/mutex.h>
#include <libcamera/base/signal.h>
#include <libcamera/base/utils.h>
@@ -27,10 +26,6 @@ class Object;
class ThreadData;
class ThreadMain;
-using ConditionVariable = std::condition_variable;
-using Mutex = std::mutex;
-using MutexLocker = std::unique_lock<std::mutex>;
-
class Thread
{
public: