X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=src%2Fplugins%2Fctf%2Flttng-live%2Flttng-live.c;h=7da40dc26c94847c32eea839af94163f4faa3ec4;hp=e9007acbec497afd5692e8b0c5cec4b5662cf0c3;hb=e469e5507c999fb5a346694d0449ed0e53d0b275;hpb=61c935bbd8af2b87cbde43bc7c60a031aa1525eb diff --git a/src/plugins/ctf/lttng-live/lttng-live.c b/src/plugins/ctf/lttng-live/lttng-live.c index e9007acb..7da40dc2 100644 --- a/src/plugins/ctf/lttng-live/lttng-live.c +++ b/src/plugins/ctf/lttng-live/lttng-live.c @@ -955,16 +955,6 @@ enum lttng_live_iterator_status next_stream_iterator_for_trace( g_ptr_array_index(live_trace->stream_iterators, stream_iter_idx); - /* - * Since we may remove elements from the GPtrArray as we - * iterate over it, it's possible to see the same element more - * than once. - */ - if (stream_iter == youngest_candidate_stream_iter) { - stream_iter_idx++; - continue; - } - /* * Find if there is are now current message for this stream * iterator get it. @@ -1067,14 +1057,17 @@ enum lttng_live_iterator_status next_stream_iterator_for_trace( stream_iter_idx++; } else { /* - * The live stream iterator is ENDed. We remove that - * iterator from the list and we restart the iteration - * at the beginning of the live stream iterator array - * to because the removal will shuffle the array. + * The live stream iterator has ended. That + * iterator is removed from the array, but + * there is no need to increment + * stream_iter_idx as + * g_ptr_array_remove_index_fast replaces the + * removed element with the array's last + * element. */ - g_ptr_array_remove_index_fast(live_trace->stream_iterators, + g_ptr_array_remove_index_fast( + live_trace->stream_iterators, stream_iter_idx); - stream_iter_idx = 0; } }