error:
if (lks) {
trace_kernel_destroy_session(lks);
+ trace_kernel_free_session(lks);
}
return ret;
}
}
/*
- * Complete teardown of a kernel session.
+ * Teardown of a kernel session, keeping data required by destroy notifiers.
*/
void kernel_destroy_session(struct ltt_kernel_session *ksess)
{
lttng_trace_chunk_put(trace_chunk);
}
+/* Teardown of data required by destroy notifiers. */
+void kernel_free_session(struct ltt_kernel_session *ksess)
+{
+ if (ksess == NULL) {
+ return;
+ }
+ trace_kernel_free_session(ksess);
+}
+
/*
* Destroy a kernel channel object. It does not do anything on the tracer side.
*/