X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=lttng-sessiond%2Fmain.c;h=aae9b3dfe6f5f1f7ea2516873ee5f778aca2be27;hb=5b4a0ec04ce1ee5a4cf4c8a5896edab28750da56;hp=fa196e7b033bfe07f97ac994803afc384c6f274c;hpb=b9d9b2206ed996a75dc9fa75ce6b35dcd8f0b0e8;p=lttng-tools.git diff --git a/lttng-sessiond/main.c b/lttng-sessiond/main.c index fa196e7b0..aae9b3dfe 100644 --- a/lttng-sessiond/main.c +++ b/lttng-sessiond/main.c @@ -1879,6 +1879,7 @@ static int list_lttng_ust_global_events(char *channel_name, cds_lfht_for_each_entry(uchan->events, &iter, uevent, node) { strncpy(tmp[i].name, uevent->attr.name, LTTNG_SYMBOL_NAME_LEN); tmp[i].name[LTTNG_SYMBOL_NAME_LEN - 1] = '\0'; + tmp[i].enabled = uevent->enabled; switch (uevent->attr.instrumentation) { case LTTNG_UST_TRACEPOINT: tmp[i].type = LTTNG_EVENT_TRACEPOINT; @@ -2085,6 +2086,7 @@ static int cmd_enable_channel(struct ltt_session *session, ret = LTTCOMM_UST_CHAN_FAIL; goto error; } + rcu_read_lock(); hashtable_add_unique(usess->domain_global.channels, &uchan->node); rcu_read_unlock(); @@ -2095,11 +2097,13 @@ static int cmd_enable_channel(struct ltt_session *session, } /* Add channel to all registered applications */ - ret = ust_app_add_channel_all(usess, uchan); + ret = ust_app_create_channel_all(usess, uchan); if (ret != 0) { goto error; } + uchan->enabled = 1; + break; } case LTTNG_DOMAIN_UST_PID: @@ -2353,17 +2357,24 @@ static int cmd_enable_event(struct ltt_session *session, int domain, ret = LTTCOMM_FATAL; goto error; } + } - ret = ust_app_add_event_all(usess, uchan, uevent); + ret = ust_app_create_event_all(usess, uchan, uevent); if (ret < 0) { ret = LTTCOMM_UST_ENABLE_FAIL; goto error; } + /* Add ltt ust event to channel */ rcu_read_lock(); hashtable_add_unique(uchan->events, &uevent->node); rcu_read_unlock(); + + uevent->enabled = 1; + + DBG3("UST ltt event %s added to channel %s", uevent->attr.name, + uchan->name); break; } case LTTNG_DOMAIN_UST_EXEC_NAME: