From 4eebd421a59343b05d67be645e4bf5996f70d28f Mon Sep 17 00:00:00 2001 From: Dean Lee Date: Fri, 15 Jan 2021 19:09:18 +0800 Subject: [PATCH] CameraBuf::acquire : using a scoped lock (#19764) * Using a scoped lock * Trigger Build old-commit-hash: 20726997199aedea1ee40e6891a450ae70d56717 --- selfdrive/camerad/cameras/camera_common.cc | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/selfdrive/camerad/cameras/camera_common.cc b/selfdrive/camerad/cameras/camera_common.cc index 184f1f1ece..50eafc3b59 100644 --- a/selfdrive/camerad/cameras/camera_common.cc +++ b/selfdrive/camerad/cameras/camera_common.cc @@ -121,14 +121,14 @@ CameraBuf::~CameraBuf() { } bool CameraBuf::acquire() { - std::unique_lock lk(frame_queue_mutex); - - bool got_frame = frame_queue_cv.wait_for(lk, std::chrono::milliseconds(1), [this]{ return !frame_queue.empty(); }); - if (!got_frame) return false; + { + std::unique_lock lk(frame_queue_mutex); + bool got_frame = frame_queue_cv.wait_for(lk, std::chrono::milliseconds(1), [this]{ return !frame_queue.empty(); }); + if (!got_frame) return false; - cur_buf_idx = frame_queue.front(); - frame_queue.pop(); - lk.unlock(); + cur_buf_idx = frame_queue.front(); + frame_queue.pop(); + } const FrameMetadata &frame_data = camera_bufs_metadata[cur_buf_idx]; if (frame_data.frame_id == -1) {