From 3754a3d6e08cda0676f0914b3824ac686820ecbc Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Tue, 19 Feb 2013 04:02:56 -0600 Subject: gras: fix flush_all input queues so config is saved --- lib/gras_impl/input_buffer_queues.hpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'lib/gras_impl') diff --git a/lib/gras_impl/input_buffer_queues.hpp b/lib/gras_impl/input_buffer_queues.hpp index d15e472..d192a2e 100644 --- a/lib/gras_impl/input_buffer_queues.hpp +++ b/lib/gras_impl/input_buffer_queues.hpp @@ -49,6 +49,7 @@ struct InputBufferQueues GRAS_FORCE_INLINE const SBuffer &front(const size_t i) { ASSERT(this->ready(i)); + ASSERT(_items_sizes[i] != 0); //special case when the null buffer is possible if (_queues[i].empty()) return get_null_buff(); @@ -153,14 +154,17 @@ struct InputBufferQueues GRAS_FORCE_INLINE void InputBufferQueues::resize(const size_t size) { _bitset.resize(size); - _items_sizes.resize(size, 0); _enqueued_bytes.resize(size, 0); - _reserve_bytes.resize(size, 1); - _maximum_bytes.resize(size, MAX_AUX_BUFF_BYTES); _queues.resize(size, boost::circular_buffer(1)); - _preload_bytes.resize(size, 0); _aux_queues.resize(size); + if (size != 0) //keep config info when flushing + { + _items_sizes.resize(size, 0); + _preload_bytes.resize(size, 0); + _reserve_bytes.resize(size, 1); + _maximum_bytes.resize(size, MAX_AUX_BUFF_BYTES); + } } inline void InputBufferQueues::update_config( -- cgit