Cleanup: iterator unused pointer value
[babeltrace.git] / lib / iterator.c
index a2a7bb578adca29313b9bda620382bfe67b8248c..48c67a4031fb07167d61233a17b66b11f58df964 100644 (file)
@@ -806,9 +806,18 @@ int bt_iter_next(struct bt_iter *iter)
                goto end;
        } else if (ret == EAGAIN) {
                /*
-                * The stream is inactive for now, we just updated the timestamp_end
-                * to skip over this stream up to a certain point in time.
+                * Live streaming: the stream is inactive for now, we
+                * just updated the timestamp_end to skip over this
+                * stream up to a certain point in time.
+                *
+                * Since we can't guarantee that a stream will ever have
+                * any activity, we can't rely on the fact that
+                * bt_iter_next will be called for each stream and deal
+                * with inactive streams. So instead, we return 0 here
+                * to the caller and let the read API handle the
+                * retry case.
                 */
+               ret = 0;
                goto reinsert;
        } else if (ret) {
                goto end;
@@ -818,14 +827,6 @@ reinsert:
        /* Reinsert the file stream into the heap, and rebalance. */
        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;
 }
This page took 0.023284 seconds and 4 git commands to generate.