X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=lttng-sessiond%2Fmain.c;h=63d7f0e2d3e0ab48a68104183e5054454bde7db6;hp=6bb471a9dca0a3cc03b9448ec0b6be649a12e5e8;hb=edb6738816b442fb81f12ea0079260c96c3a5759;hpb=3b25d04d4b29a50147e9b42b475153d7b80d1dff diff --git a/lttng-sessiond/main.c b/lttng-sessiond/main.c index 6bb471a9d..63d7f0e2d 100644 --- a/lttng-sessiond/main.c +++ b/lttng-sessiond/main.c @@ -2580,10 +2580,10 @@ static int cmd_enable_event(struct ltt_session *session, int domain, } case LTTNG_DOMAIN_UST: { - struct ltt_ust_channel *uchan; - struct ltt_ust_event *uevent; struct lttng_channel *attr; + struct ltt_ust_channel *uchan; + /* Get channel from global UST domain */ uchan = trace_ust_find_channel_by_name(usess->domain_global.channels, channel_name); if (uchan == NULL) { @@ -2594,14 +2594,14 @@ static int cmd_enable_event(struct ltt_session *session, int domain, goto error; } snprintf(attr->name, NAME_MAX, "%s", channel_name); + attr->name[NAME_MAX - 1] = '\0'; /* Use the internal command enable channel */ ret = cmd_enable_channel(session, domain, attr); - if (ret < 0) { + if (ret != LTTCOMM_OK) { free(attr); goto error; } - free(attr); /* Get the newly created channel reference back */ @@ -2614,31 +2614,12 @@ static int cmd_enable_event(struct ltt_session *session, int domain, } } - uevent = trace_ust_find_event_by_name(uchan->events, event->name); - if (uevent == NULL) { - uevent = trace_ust_create_event(event); - if (uevent == NULL) { - ret = LTTCOMM_FATAL; - goto error; - } + /* At this point, the session and channel exist on the tracer */ - } - - ret = ust_app_create_event_all(usess, uchan, uevent); - if (ret < 0) { - ret = LTTCOMM_UST_ENABLE_FAIL; + ret = event_ust_enable_tracepoint(usess, domain, uchan, event); + if (ret != LTTCOMM_OK) { 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: