"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, self_msg_iter, logCfg)
- .release();
+ stream_iter, self_msg_iter, logCfg);
if (!stream_iter->msg_iter) {
BT_CLOGE_APPEND_CAUSE("Failed to create CTF message iterator");
goto error;
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, logCfg)
- .release();
+ stream_iter, self_msg_iter, logCfg);
if (!stream_iter->msg_iter) {
BT_CLOGE_APPEND_CAUSE("Failed to create CTF message iterator");
goto error;
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);
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;
ret = LTTNG_LIVE_ITERATOR_STATUS_ERROR;
BT_CLOGE_APPEND_CAUSE("CTF message iterator failed to get next message: "
"msg-iter=%p, msg-iter-status=%s",
- lttng_live_stream->msg_iter, ctf_msg_iter_status_string(status));
+ lttng_live_stream->msg_iter.get(),
+ ctf_msg_iter_status_string(status));
break;
}
* 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_CLOGE_APPEND_CAUSE("Error getting the next message from CTF message 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;