From 25a710f4ac8d017ce1fdf0d115ba176b5f0337ae Mon Sep 17 00:00:00 2001 From: Babicaa Date: Fri, 29 Mar 2019 15:29:17 +0100 Subject: [PATCH] Use lock_guard instead of locking Mutex --- lib/src/RingBuffer.cpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/lib/src/RingBuffer.cpp b/lib/src/RingBuffer.cpp index 36813a2..a221682 100644 --- a/lib/src/RingBuffer.cpp +++ b/lib/src/RingBuffer.cpp @@ -210,24 +210,24 @@ void RingBuffer::release(size_t buffer_slot_index) } // Release the buffer slot. - ringbuffer_slots_mutex.lock(); + { + lock_guard lock(ringbuffer_slots_mutex); - if (ringbuffer_slots[buffer_slot_index]) { - ringbuffer_slots[buffer_slot_index] = 0; + if (ringbuffer_slots[buffer_slot_index]) { + ringbuffer_slots[buffer_slot_index] = 0; - // Keep track of the number of used slots. - buffer_used_slots--; + // Keep track of the number of used slots. + buffer_used_slots--; - } else { - stringstream error_message; - using namespace date; - error_message << "[" << std::chrono::system_clock::now() << "]"; - error_message << "[RingBuffer::release] Cannot release empty ring buffer slot " << buffer_slot_index << endl; + } else { + stringstream error_message; + using namespace date; + error_message << "[" << std::chrono::system_clock::now() << "]"; + error_message << "[RingBuffer::release] Cannot release empty ring buffer slot " << buffer_slot_index << endl; - throw runtime_error(error_message.str()); + throw runtime_error(error_message.str()); + } } - - ringbuffer_slots_mutex.unlock(); } bool RingBuffer::is_empty() @@ -235,4 +235,4 @@ bool RingBuffer::is_empty() lock_guard lock(ringbuffer_slots_mutex); return buffer_used_slots == 0; -} \ No newline at end of file +}