mapping = {
{LTTNG_TRACE_FORMAT_DESCRIPTOR_TYPE_CTF_1,
LTTCOMM_RELAYD_CONFIGURATION_TRACE_FORMAT_SUPPORTED_CTF1},
+ {LTTNG_TRACE_FORMAT_DESCRIPTOR_TYPE_CTF_2,
+ LTTCOMM_RELAYD_CONFIGURATION_TRACE_FORMAT_SUPPORTED_CTF2},
};
auto it = mapping.find(trace_format.type());
cds_list_for_each_entry(session, &list->head, list) {
struct lttng_session tmp_session = {};
struct lttng_session_extended tmp_extended = {};
+ struct lttng_payload trace_format_buffer;
+ lttng_payload_init(&trace_format_buffer);
tmp_session.extended.ptr = &tmp_extended;
if (!session_get(session)) {
+ lttng_payload_reset(&trace_format_buffer);
continue;
}
/*
if (!session_access_ok(session, uid) ||
session->destroyed) {
session_put(session);
+ lttng_payload_reset(&trace_format_buffer);
continue;
}
continue;
}
+ session->trace_format->serialize(&trace_format_buffer);
+
strncpy(tmp_session.name, session->name, NAME_MAX);
tmp_session.name[NAME_MAX - 1] = '\0';
tmp_session.enabled = session->active;
tmp_session.snapshot_mode = session->snapshot_mode;
tmp_session.live_timer_interval = session->live_timer;
LTTNG_OPTIONAL_SET(&tmp_extended.creation_time, (uint64_t) session->creation_time);
+ tmp_extended.serialized_trace_format_descriptor =
+ lttng_buffer_view_from_dynamic_buffer(&trace_format_buffer.buffer,
+ 0, trace_format_buffer.buffer.size);
ret = lttng_session_serialize(&tmp_session, reply_payload);
+ lttng_payload_reset(&trace_format_buffer);
if (ret) {
ret_code = LTTNG_ERR_FATAL;
goto error;