X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=ltt-sessiond%2Fsession.c;h=93f03e4c5ef11386d7fc5fdf36288993d246b078;hb=a55dd1367a35379b1208ddaf3212acb48e78004e;hp=c6bc285cd9fc5e5d7d4deb49748bd0633b1206ae;hpb=5b74c7b1ca96399ba5c8bd0ce6974aea671198eb;p=lttng-tools.git diff --git a/ltt-sessiond/session.c b/ltt-sessiond/session.c index c6bc285cd..93f03e4c5 100644 --- a/ltt-sessiond/session.c +++ b/ltt-sessiond/session.c @@ -5,7 +5,7 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the @@ -17,12 +17,10 @@ */ #define _GNU_SOURCE -#include #include #include #include #include -#include #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, <t_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, <t_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,15 @@ 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); + CDS_INIT_LIST_HEAD(&new_session->kernel_traces); + + /* Set trace list counter */ + new_session->ust_trace_count = 0; + new_session->kern_trace_count = 0; /* Add new session to the global session list */ add_session_list(new_session); @@ -225,12 +230,14 @@ void get_lttng_session(struct lttng_session *lt) 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, <t_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(<[i], &lsess, sizeof(lsess));