Fix channel creation when enabling an event
[lttng-tools.git] / ltt-sessiond / main.c
index 380aa7d9c95e5cb40c9df1f6b27ee98f00587df0..7603ffd1417e466f60847c7173092e24038ffc35 100644 (file)
@@ -150,7 +150,7 @@ static void cleanup()
 {
        int ret;
        char *cmd;
-       struct ltt_session *sess;
+       struct ltt_session *sess, *stmp;
 
        DBG("Cleaning up");
 
@@ -184,7 +184,7 @@ static void cleanup()
                pthread_mutex_destroy(&session_list_ptr->lock);
 
                /* Cleanup ALL session */
-               cds_list_for_each_entry(sess, &session_list_ptr->head, list) {
+               cds_list_for_each_entry_safe(sess, stmp, &session_list_ptr->head, list) {
                        teardown_kernel_session(sess);
                        // TODO complete session cleanup (including UST)
                }
@@ -1113,7 +1113,7 @@ static int notify_kernel_pollfd(void)
 /*
  * Allocate a channel structure and fill it.
  */
-static struct lttng_channel *init_default_channel(void)
+static struct lttng_channel *init_default_channel(char *name)
 {
        struct lttng_channel *chan;
 
@@ -1123,7 +1123,7 @@ static struct lttng_channel *init_default_channel(void)
                goto error;
        }
 
-       if (snprintf(chan->name, NAME_MAX, DEFAULT_CHANNEL_NAME) < 0) {
+       if (snprintf(chan->name, NAME_MAX, "%s", name) < 0) {
                perror("snprintf defautl channel name");
                return NULL;
        }
@@ -1526,9 +1526,9 @@ static int process_client_msg(struct command_ctx *cmd_ctx)
                        kchan = get_kernel_channel_by_name(channel_name,
                                        cmd_ctx->session->kernel_session);
                        if (kchan == NULL) {
-                               DBG("Creating default channel");
+                               DBG("Channel not found. Creating channel %s", channel_name);
 
-                               chan = init_default_channel();
+                               chan = init_default_channel(channel_name);
                                if (chan == NULL) {
                                        ret = LTTCOMM_FATAL;
                                        goto error;
@@ -1590,9 +1590,9 @@ static int process_client_msg(struct command_ctx *cmd_ctx)
                        kchan = get_kernel_channel_by_name(channel_name,
                                        cmd_ctx->session->kernel_session);
                        if (kchan == NULL) {
-                               DBG("Creating default channel");
+                               DBG("Channel not found. Creating channel %s", channel_name);
 
-                               chan = init_default_channel();
+                               chan = init_default_channel(channel_name);
                                if (chan == NULL) {
                                        ret = LTTCOMM_FATAL;
                                        goto error;
This page took 0.025225 seconds and 5 git commands to generate.