Fix: set GLOBAL buffer type for kernel domain in list
[lttng-tools.git] / src / bin / lttng-sessiond / cmd.c
index 95e371d7b66fe527da607a7c60d0c49b871a2e63..a80668831076a4396d14bdd45d2c155a01e7641c 100644 (file)
@@ -38,6 +38,7 @@
 #include "lttng-sessiond.h"
 #include "utils.h"
 #include "syscall.h"
+#include "agent.h"
 
 #include "cmd.h"
 
@@ -1512,6 +1513,9 @@ int cmd_enable_event(struct ltt_session *session, struct lttng_domain *domain,
                        event->type = LTTNG_EVENT_TRACEPOINT;   /* Hack */
                        ret = event_kernel_enable_event(kchan, event,
                                filter_expression, filter);
+                       /* We have passed ownership */
+                       filter_expression = NULL;
+                       filter = NULL;
                        if (ret != LTTNG_OK) {
                                if (channel_created) {
                                        /* Let's not leak a useless channel. */
@@ -1537,6 +1541,9 @@ int cmd_enable_event(struct ltt_session *session, struct lttng_domain *domain,
                case LTTNG_EVENT_TRACEPOINT:
                        ret = event_kernel_enable_event(kchan, event,
                                filter_expression, filter);
+                       /* We have passed ownership */
+                       filter_expression = NULL;
+                       filter = NULL;
                        if (ret != LTTNG_OK) {
                                if (channel_created) {
                                        /* Let's not leak a useless channel. */
@@ -1548,6 +1555,9 @@ int cmd_enable_event(struct ltt_session *session, struct lttng_domain *domain,
                case LTTNG_EVENT_SYSCALL:
                        ret = event_kernel_enable_event(kchan, event,
                                filter_expression, filter);
+                       /* We have passed ownership */
+                       filter_expression = NULL;
+                       filter = NULL;
                        if (ret != LTTNG_OK) {
                                goto error;
                        }
@@ -2447,6 +2457,10 @@ ssize_t cmd_list_domains(struct ltt_session *session,
 
        if (session->kernel_session != NULL) {
                (*domains)[index].type = LTTNG_DOMAIN_KERNEL;
+
+               /* Kernel session buffer type is always GLOBAL */
+               (*domains)[index].buf_type = LTTNG_BUFFER_GLOBAL;
+
                index++;
        }
 
This page took 0.024499 seconds and 4 git commands to generate.