From 6d4c752aa0aaf41d7e764dbd81708f343a38c650 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Wed, 21 Nov 2012 20:15:06 -0800 Subject: guard against empty consumes --- lib/block_task.cpp | 1 + lib/gras_impl/input_buffer_queues.hpp | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/block_task.cpp b/lib/block_task.cpp index 1a6c447..a0d4ba8 100644 --- a/lib/block_task.cpp +++ b/lib/block_task.cpp @@ -229,6 +229,7 @@ void BlockActor::handle_task(void) void BlockActor::consume(const size_t i, const size_t items) { + if (items == 0) return; this->items_consumed[i] += items; const size_t bytes = items*this->input_items_sizes[i]; this->input_queues.consume(i, bytes); diff --git a/lib/gras_impl/input_buffer_queues.hpp b/lib/gras_impl/input_buffer_queues.hpp index f2738ee..5ae8951 100644 --- a/lib/gras_impl/input_buffer_queues.hpp +++ b/lib/gras_impl/input_buffer_queues.hpp @@ -225,6 +225,7 @@ GRAS_FORCE_INLINE void InputBufferQueues::accumulate(const size_t i, const size_ GRAS_FORCE_INLINE void InputBufferQueues::consume(const size_t i, const size_t bytes_consumed) { + ASSERT(not _queues[i].empty()); SBuffer &front = _queues[i].front(); //assert that we dont consume past the bounds of the buffer -- cgit