LTTNG_ASSERT(session);
/* Allocate data structure */
- lks = trace_kernel_create_session();
+ lks = trace_kernel_create_session(
+ std::const_pointer_cast<const lttng::trace_format_descriptor>(
+ session->trace_format));
if (lks == NULL) {
ret = -1;
goto error;
session->id, session->name);
}
+ ret = kernctl_session_set_trace_format(lks->fd, *session->trace_format);
+ if (ret) {
+ WARN("Could not set kernel session trace format %" PRIu64 " name: %s", session->id,
+ session->name);
+ }
return 0;
error:
* See kernel-ctl.h for explanation of this value
*/
nbmem = KERNEL_EVENT_INIT_LIST_SIZE;
- elist = (lttng_event *) zmalloc(sizeof(struct lttng_event) * nbmem);
+ elist = calloc<lttng_event>(nbmem);
if (elist == NULL) {
PERROR("alloc list events");
count = -ENOMEM;
return kernel_tracer_abi_greater_or_equal(2, 6);
}
+/*
+ * Check for the support of ctf2 via abi version number.
+ *
+ * Return 1 on success, 0 when feature is not supported, negative value in case
+ * of errors.
+ */
+int kernel_supports_ctf2(void)
+{
+ /*
+ * JORAJ TODO: change this for the actual value when merged upstream
+ * default to 2.7 ABI for now (modules 2.14)
+ * CTF2 support was introduced in LTTng 2.1XX, lttng-modules ABI 2.XX.
+ */
+ return kernel_tracer_abi_greater_or_equal(2, 7);
+}
+
/*
* Rotate a kernel session.
*