diff options
Diffstat (limited to 'lib/block.cpp')
-rw-r--r-- | lib/block.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/block.cpp b/lib/block.cpp index 9bf3b9c..d2f0a0d 100644 --- a/lib/block.cpp +++ b/lib/block.cpp @@ -181,9 +181,9 @@ void Block::post_output_msg(const size_t which_output, const PMCC &msg) PMCC Block::pop_input_msg(const size_t which_input) { std::vector<PMCC> &input_msgs = (*this)->block->input_msgs[which_input]; - if (input_msgs.empty()) return PMCC(); - PMCC p = input_msgs.front(); - input_msgs.erase(input_msgs.begin()); + size_t &num_read = (*this)->block->num_input_msgs_read[which_input]; + if (num_read >= input_msgs.size()) return PMCC(); + PMCC p = input_msgs[num_read++]; (*this)->block->stats.msgs_consumed[which_input]++; return p; } |