Fix: keep ust/kernel session items around for destroy notifier
[lttng-tools.git] / src / bin / lttng-sessiond / kernel.c
index 4fdc34bad23fb329edf97b893ca8d103c4982cd6..955fd3ac27e9de62fac25a1cdce367f001b4c4f5 100644 (file)
@@ -131,6 +131,7 @@ int kernel_create_session(struct ltt_session *session, int tracer_fd)
 error:
        if (lks) {
                trace_kernel_destroy_session(lks);
+               trace_kernel_free_session(lks);
        }
        return ret;
 }
@@ -1156,7 +1157,7 @@ end_boot_id:
 }
 
 /*
- * 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)
 {
@@ -1205,6 +1206,15 @@ 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.
  */
This page took 0.024084 seconds and 5 git commands to generate.