Add kernel sesison and channel creation support
[lttng-tools.git] / ltt-sessiond / session.c
index 9e93d89cef07814fffa795fdfac74ad59f2ed63d..9fef73cf7ecdce33e10a7599b2a580742ecc3257 100644 (file)
  */
 
 #define _GNU_SOURCE
-#include <lttng/liblttngctl.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <urcu/list.h>
-#include <uuid/uuid.h>
 
 #include "lttngerr.h"
 #include "session.h"
@@ -115,7 +113,7 @@ struct ltt_session *find_session_by_name(char *name)
        struct ltt_session *iter;
 
        cds_list_for_each_entry(iter, &ltt_session_list.head, list) {
-               if (strncmp(iter->name, name, strlen(iter->name)) == 0) {
+               if (strncmp(iter->name, name, strlen(name)) == 0) {
                        found = 1;
                        break;
                }
@@ -144,6 +142,7 @@ int destroy_session(uuid_t *uuid)
 
        cds_list_for_each_entry(iter, &ltt_session_list.head, list) {
                if (uuid_compare(iter->uuid, *uuid) == 0) {
+                       DBG("Destroying session %s", iter->name);
                        del_session_list(iter);
                        free(iter);
                        found = 1;
@@ -164,6 +163,8 @@ int create_session(char *name, uuid_t *session_id)
 {
        struct ltt_session *new_session;
 
+       DBG("Creating session %s", name);
+
        new_session = find_session_by_name(name);
        if (new_session != NULL) {
                goto error;
@@ -195,11 +196,13 @@ int create_session(char *name, uuid_t *session_id)
         * NO consumer attach to that session yet.
         */
        new_session->ust_consumer = 0;
-       new_session->lttng_consumer = 0;
+       new_session->kernel_consumer = 0;
 
        /* Init list */
        CDS_INIT_LIST_HEAD(&new_session->ust_traces);
-       CDS_INIT_LIST_HEAD(&new_session->lttng_traces);
+
+       /* Set trace list counter */
+       new_session->ust_trace_count = 0;
 
        /* Add new session to the global session list */
        add_session_list(new_session);
@@ -219,21 +222,23 @@ error_mem:
  *  Iterate over the global session list and
  *  fill the lttng_session array.
  */
-void get_lttng_session(struct lttng_session *lt)
+void get_lttng_session(struct lttng_session *sessions)
 {
        int i = 0;
        struct ltt_session *iter;
        struct lttng_session lsess;
 
+       DBG("Getting all available session");
+
        /* Iterate over session list and append data after
         * the control struct in the buffer.
         */
        cds_list_for_each_entry(iter, &ltt_session_list.head, list) {
                /* Copy name and uuid */
-               uuid_unparse(iter->uuid, lsess.uuid);
+               uuid_copy(lsess.uuid, iter->uuid);
                strncpy(lsess.name, iter->name, sizeof(lsess.name));
                lsess.name[sizeof(lsess.name) - 1] = '\0';
-               memcpy(&lt[i], &lsess, sizeof(lsess));
+               memcpy(&sessions[i], &lsess, sizeof(lsess));
                i++;
                /* Reset struct for next pass */
                memset(&lsess, 0, sizeof(lsess));
This page took 0.024019 seconds and 4 git commands to generate.