lttng-sessiond: keep enabled/active state for sessions, cleanup enabled state for...
[lttng-tools.git] / lttng-sessiond / main.c
index d1cc3fa8f81a3aec484e6ca476720ff9a3e7fa48..2e6292d38a7e567b84d96484d8be22c10f9e28eb 100644 (file)
@@ -1790,6 +1790,7 @@ static void list_lttng_sessions(struct lttng_session *sessions)
                sessions[i].path[PATH_MAX - 1] = '\0';
                strncpy(sessions[i].name, session->name, NAME_MAX);
                sessions[i].name[NAME_MAX - 1] = '\0';
+               sessions[i].enabled = session->enabled;
                i++;
        }
 }
@@ -2512,6 +2513,10 @@ static int cmd_start_trace(struct ltt_session *session)
        ksession = session->kernel_session;
        usess = session->ust_session;
 
+       if (session->enabled)
+               return LTTCOMM_UST_START_FAIL;
+       session->enabled = 1;
+
        /* Kernel tracing */
        if (ksession != NULL) {
                struct ltt_kernel_channel *kchan;
@@ -2597,6 +2602,10 @@ static int cmd_stop_trace(struct ltt_session *session)
        /* Short cut */
        ksession = session->kernel_session;
 
+       if (!session->enabled)
+               return LTTCOMM_UST_START_FAIL;
+       session->enabled = 0;
+
        /* Kernel tracer */
        if (ksession != NULL) {
                DBG("Stop kernel tracing");
This page took 0.0231 seconds and 4 git commands to generate.