Fix multiple error handling for UST tracing
[lttng-tools.git] / lttng-sessiond / channel.c
index 3dc04ccb83829ad2077dc2ced938d3ee6c40671b..0e8b1672086b7031b950ba92b4e32fd7ea28e39e 100644 (file)
@@ -216,7 +216,6 @@ int channel_ust_create(struct ltt_ust_session *usess, int domain,
                struct lttng_channel *attr)
 {
        int ret = LTTCOMM_OK;
-       struct lttng_ht *chan_ht;
        struct ltt_ust_channel *uchan = NULL;
        struct lttng_channel *defattr = NULL;
 
@@ -242,11 +241,6 @@ int channel_ust_create(struct ltt_ust_session *usess, int domain,
        case LTTNG_DOMAIN_UST:
                DBG2("Channel %s being created in UST global domain", uchan->name);
 
-               /* Adding the channel to the channel hash table. */
-               rcu_read_lock();
-               lttng_ht_add_unique_str(usess->domain_global.channels, &uchan->node);
-               rcu_read_unlock();
-
                /* Enable channel for global domain */
                ret = ust_app_create_channel_glb(usess, uchan);
                break;
@@ -263,6 +257,11 @@ int channel_ust_create(struct ltt_ust_session *usess, int domain,
                goto error_free_chan;
        }
 
+       /* Adding the channel to the channel hash table. */
+       rcu_read_lock();
+       lttng_ht_add_unique_str(usess->domain_global.channels, &uchan->node);
+       rcu_read_unlock();
+
        DBG2("Channel %s created successfully", uchan->name);
 
        free(defattr);
This page took 0.023212 seconds and 4 git commands to generate.