X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fkernel.c;h=bf03dbad985388a2355dcb2a46b3ad7281c9fccf;hb=edb8b045f1abe76804200921e7b2eb42ec66b5e4;hp=f734760778db81f24d704f59d416ca7ce68af845;hpb=77c7c900d190f7fb4f99a456c767f069da7e72b8;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/kernel.c b/src/bin/lttng-sessiond/kernel.c index f73476077..bf03dbad9 100644 --- a/src/bin/lttng-sessiond/kernel.c +++ b/src/bin/lttng-sessiond/kernel.c @@ -28,6 +28,7 @@ #include #include +#include "consumer.h" #include "kernel.h" #include "kern-modules.h" @@ -124,6 +125,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 +308,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 +337,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 +720,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); +}