Fix a typo in lttng-probe-module name
[lttng-tools.git] / src / bin / lttng-sessiond / kernel.c
index f734760778db81f24d704f59d416ca7ce68af845..00172e80170c3089a9160bcd49ce8d72357107c0 100644 (file)
@@ -28,6 +28,7 @@
 #include <common/kernel-ctl/kernel-ctl.h>
 #include <common/sessiond-comm/sessiond-comm.h>
 
+#include "consumer.h"
 #include "kernel.h"
 #include "kern-modules.h"
 
@@ -65,35 +66,6 @@ error:
        return ret;
 }
 
-/*
- * Add context on a kernel event.
- */
-int kernel_add_event_context(struct ltt_kernel_event *event,
-               struct lttng_kernel_context *ctx)
-{
-       int ret;
-
-       DBG("Adding context to event %s", event->event->name);
-       ret = kernctl_add_context(event->fd, ctx);
-       if (ret < 0) {
-               PERROR("add context ioctl");
-               goto error;
-       }
-
-       event->ctx = zmalloc(sizeof(struct lttng_kernel_context));
-       if (event->ctx == NULL) {
-               PERROR("zmalloc event context");
-               goto error;
-       }
-
-       memcpy(event->ctx, ctx, sizeof(struct lttng_kernel_context));
-
-       return 0;
-
-error:
-       return ret;
-}
-
 /*
  * Create a new kernel session, register it to the kernel tracer and add it to
  * the session daemon session.
@@ -124,6 +96,7 @@ int kernel_create_session(struct ltt_session *session, int tracer_fd)
                PERROR("fcntl session fd");
        }
 
+       lks->id = session->id;
        lks->consumer_fds_sent = 0;
        session->kernel_session = lks;
 
@@ -306,7 +279,7 @@ int kernel_enable_event(struct ltt_kernel_event *event)
        if (ret < 0) {
                switch (errno) {
                case EEXIST:
-                       ret = LTTCOMM_KERN_EVENT_EXIST;
+                       ret = LTTNG_ERR_KERN_EVENT_EXIST;
                        break;
                default:
                        PERROR("enable kernel event");
@@ -335,7 +308,7 @@ int kernel_disable_event(struct ltt_kernel_event *event)
        if (ret < 0) {
                switch (errno) {
                case EEXIST:
-                       ret = LTTCOMM_KERN_EVENT_EXIST;
+                       ret = LTTNG_ERR_KERN_EVENT_EXIST;
                        break;
                default:
                        PERROR("disable kernel event");
@@ -718,3 +691,21 @@ int init_kernel_workarounds(void)
 end_boot_id:
        return 0;
 }
+
+/*
+ * Complete teardown of a kernel session.
+ */
+void kernel_destroy_session(struct ltt_kernel_session *ksess)
+{
+       if (ksess == NULL) {
+               DBG3("No kernel session when tearing down session");
+               return;
+       }
+
+       DBG("Tearing down kernel session");
+
+       /* Close any relayd session */
+       consumer_output_send_destroy_relayd(ksess->consumer);
+
+       trace_kernel_destroy_session(ksess);
+}
This page took 0.028162 seconds and 4 git commands to generate.