This prevents a caller from getting stale data and/or a stale EOF marker if a previous caller didn't consume the queue.