py: Use libcamera's Mutex classes
Use libcamera's Mutex and MutexLocker instead of the std versions to get thread safety annotations. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
dfa86000a6
commit
de7f1aa591
2 changed files with 6 additions and 5 deletions
|
@ -106,14 +106,14 @@ void PyCameraManager::readFd()
|
||||||
|
|
||||||
void PyCameraManager::pushRequest(Request *req)
|
void PyCameraManager::pushRequest(Request *req)
|
||||||
{
|
{
|
||||||
std::lock_guard guard(completedRequestsMutex_);
|
MutexLocker guard(completedRequestsMutex_);
|
||||||
completedRequests_.push_back(req);
|
completedRequests_.push_back(req);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<Request *> PyCameraManager::getCompletedRequests()
|
std::vector<Request *> PyCameraManager::getCompletedRequests()
|
||||||
{
|
{
|
||||||
std::vector<Request *> v;
|
std::vector<Request *> v;
|
||||||
std::lock_guard guard(completedRequestsMutex_);
|
MutexLocker guard(completedRequestsMutex_);
|
||||||
swap(v, completedRequests_);
|
swap(v, completedRequests_);
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <mutex>
|
#include <libcamera/base/mutex.h>
|
||||||
|
|
||||||
#include <libcamera/libcamera.h>
|
#include <libcamera/libcamera.h>
|
||||||
|
|
||||||
|
@ -34,8 +34,9 @@ private:
|
||||||
std::unique_ptr<CameraManager> cameraManager_;
|
std::unique_ptr<CameraManager> cameraManager_;
|
||||||
|
|
||||||
UniqueFD eventFd_;
|
UniqueFD eventFd_;
|
||||||
std::mutex completedRequestsMutex_;
|
libcamera::Mutex completedRequestsMutex_;
|
||||||
std::vector<Request *> completedRequests_;
|
std::vector<Request *> completedRequests_
|
||||||
|
LIBCAMERA_TSA_GUARDED_BY(completedRequestsMutex_);
|
||||||
|
|
||||||
void writeFd();
|
void writeFd();
|
||||||
void readFd();
|
void readFd();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue