From: Simon Marchi Date: Thu, 7 Dec 2023 04:29:47 +0000 (+0000) Subject: src.ctf.lttng-live: make lttng_live_stream_iterator::msg_iter a ctf_msg_iter_up X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=commitdiff_plain;h=2d5d8c7bb23c39ab8e62abc10d0843caac346ffd src.ctf.lttng-live: make lttng_live_stream_iterator::msg_iter a ctf_msg_iter_up Signed-off-by: Simon Marchi Change-Id: I603a9daa109ebab118fe72e38ac175a7f7006335 Reviewed-on: https://review.lttng.org/c/babeltrace/+/8455 Reviewed-by: Philippe Proulx Reviewed-on: https://review.lttng.org/c/babeltrace/+/12370 Tested-by: jenkins --- diff --git a/src/plugins/ctf/lttng-live/data-stream.cpp b/src/plugins/ctf/lttng-live/data-stream.cpp index 8a68650b..82e4c316 100644 --- a/src/plugins/ctf/lttng-live/data-stream.cpp +++ b/src/plugins/ctf/lttng-live/data-stream.cpp @@ -147,8 +147,7 @@ enum lttng_live_iterator_status lttng_live_lazy_msg_init(struct lttng_live_sessi fmt::ptr(self_msg_iter)); stream_iter->msg_iter = ctf_msg_iter_create(ctf_tc, lttng_live->max_query_size, medops, stream_iter, - self_msg_iter, stream_iter->logger) - .release(); + self_msg_iter, stream_iter->logger); if (!stream_iter->msg_iter) { BT_CPPLOGE_APPEND_CAUSE_SPEC(stream_iter->logger, "Failed to create CTF message iterator"); @@ -198,9 +197,9 @@ lttng_live_stream_iterator_create(struct lttng_live_session *session, uint64_t c struct ctf_trace_class *ctf_tc = ctf_metadata_decoder_borrow_ctf_trace_class(trace->metadata->decoder.get()); BT_ASSERT(!stream_iter->msg_iter); - stream_iter->msg_iter = ctf_msg_iter_create(ctf_tc, lttng_live->max_query_size, medops, - stream_iter, self_msg_iter, stream_iter->logger) - .release(); + stream_iter->msg_iter = + ctf_msg_iter_create(ctf_tc, lttng_live->max_query_size, medops, stream_iter, + self_msg_iter, stream_iter->logger); if (!stream_iter->msg_iter) { BT_CPPLOGE_APPEND_CAUSE_SPEC(stream_iter->logger, "Failed to create CTF message iterator"); @@ -243,9 +242,6 @@ void lttng_live_stream_iterator_destroy(struct lttng_live_stream_iterator *strea return; } - if (stream_iter->msg_iter) { - ctf_msg_iter_destroy(stream_iter->msg_iter); - } g_free(stream_iter->buf); if (stream_iter->name) { g_string_free(stream_iter->name, TRUE); diff --git a/src/plugins/ctf/lttng-live/lttng-live.cpp b/src/plugins/ctf/lttng-live/lttng-live.cpp index ae7e45b1..331c8237 100644 --- a/src/plugins/ctf/lttng-live/lttng-live.cpp +++ b/src/plugins/ctf/lttng-live/lttng-live.cpp @@ -741,7 +741,7 @@ static enum lttng_live_iterator_status lttng_live_iterator_next_handle_one_activ goto end; } - status = ctf_msg_iter_get_next_message(lttng_live_stream->msg_iter, message); + status = ctf_msg_iter_get_next_message(lttng_live_stream->msg_iter.get(), message); switch (status) { case CTF_MSG_ITER_STATUS_EOF: ret = LTTNG_LIVE_ITERATOR_STATUS_END; @@ -789,7 +789,7 @@ lttng_live_iterator_close_stream(struct lttng_live_msg_iter *lttng_live_msg_iter * stream properly by emitting the necessary stream end message. */ enum ctf_msg_iter_status status = - ctf_msg_iter_get_next_message(stream_iter->msg_iter, curr_msg); + ctf_msg_iter_get_next_message(stream_iter->msg_iter.get(), curr_msg); if (status == CTF_MSG_ITER_STATUS_ERROR) { BT_CPPLOGE_APPEND_CAUSE_SPEC(lttng_live_msg_iter->logger, diff --git a/src/plugins/ctf/lttng-live/lttng-live.hpp b/src/plugins/ctf/lttng-live/lttng-live.hpp index 2ed64481..8fa926b7 100644 --- a/src/plugins/ctf/lttng-live/lttng-live.hpp +++ b/src/plugins/ctf/lttng-live/lttng-live.hpp @@ -83,7 +83,7 @@ struct lttng_live_stream_iterator * Since only a single iterator per viewer connection, we have * only a single message iterator per stream. */ - struct ctf_msg_iter *msg_iter = nullptr; + ctf_msg_iter_up msg_iter; uint64_t viewer_stream_id = 0;