ctf: assert that request_sz in medium ops request_bytes is greater than 0
[babeltrace.git] / src / plugins / ctf / lttng-live / data-stream.c
index 36a34eba8cac870a2811f3ca413fbb126979683f..3435628754de16d1810509181281247dd7700cb7 100644 (file)
@@ -58,6 +58,8 @@ enum ctf_msg_iter_medium_status medop_request_bytes(
        uint64_t len_left;
        uint64_t read_len;
 
+       BT_ASSERT(request_sz);
+
        if (stream->has_stream_hung_up) {
                status = CTF_MSG_ITER_MEDIUM_STATUS_EOF;
                goto end;
@@ -151,6 +153,10 @@ enum lttng_live_iterator_status lttng_live_lazy_msg_init(
                return LTTNG_LIVE_ITERATOR_STATUS_OK;
        }
 
+       BT_COMP_LOGD("Lazily initializing self message iterator for live session: "
+               "session-id=%"PRIu64", self-msg-iter-addr=%p", session->id,
+               self_msg_iter);
+
        for (trace_idx = 0; trace_idx < session->traces->len; trace_idx++) {
                struct lttng_live_trace *trace =
                        g_ptr_array_index(session->traces, trace_idx);
@@ -168,6 +174,10 @@ enum lttng_live_iterator_status lttng_live_lazy_msg_init(
                        }
                        ctf_tc = ctf_metadata_decoder_borrow_ctf_trace_class(
                                trace->metadata->decoder);
+                       BT_COMP_LOGD("Creating CTF message iterator: "
+                               "session-id=%"PRIu64", ctf-tc-addr=%p, "
+                               "stream-iter-name=%s, self-msg-iter-addr=%p",
+                               session->id, ctf_tc, stream_iter->name->str, self_msg_iter);
                        stream_iter->msg_iter = ctf_msg_iter_create(ctf_tc,
                                lttng_live->max_query_size, medops, stream_iter,
                                log_level, self_comp, self_msg_iter);
@@ -222,7 +232,7 @@ struct lttng_live_stream_iterator *lttng_live_stream_iterator_create(
 
        stream_iter->log_level = log_level;
        stream_iter->self_comp = self_comp;
-       trace = lttng_live_borrow_trace(session, ctf_trace_id);
+       trace = lttng_live_session_borrow_or_create_trace_by_id(session, ctf_trace_id);
        if (!trace) {
                BT_COMP_LOGE_APPEND_CAUSE(self_comp,
                        "Failed to borrow CTF trace.");
@@ -309,10 +319,5 @@ void lttng_live_stream_iterator_destroy(
        /* Track the number of active stream iterator. */
        stream_iter->trace->session->lttng_live_msg_iter->active_stream_iter--;
 
-       /*
-        * Ensure we poke the trace metadata in the future, which is
-        * required to release the metadata reference on the trace.
-        */
-       stream_iter->trace->new_metadata_needed = true;
        g_free(stream_iter);
 }
This page took 0.024603 seconds and 4 git commands to generate.