In live trace streaming, we can create an iterator with inactive streams. This patch allows inactive streams to be considered as valid.
Signed-off-by: Julien Desfossez <[email protected]> --- lib/iterator.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/iterator.c b/lib/iterator.c index 155fcbe..3280f4a 100644 --- a/lib/iterator.c +++ b/lib/iterator.c @@ -725,7 +725,7 @@ int bt_iter_init(struct bt_iter *iter, if (ret == EOF) { ret = 0; continue; - } else if (ret) { + } else if (ret != 0 && ret != EAGAIN) { goto error; } /* Add to heap */ @@ -821,6 +821,13 @@ reinsert: removed = bt_heap_replace_max(iter->stream_heap, file_stream); assert(removed == file_stream); + file_stream = bt_heap_maximum(iter->stream_heap); + if (file_stream->pos.content_size == 0) { + ret = EAGAIN; + } else { + ret = 0; + } + end: return ret; } -- 1.8.3.2 _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
