X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=lttng-sessiond%2Fust-app.c;h=69164126beafbe15e276a7f694bc5dc2045cd7b9;hp=7276cbb63755113512bfd97e69da8b945c66f0b7;hb=ac3bd9c0d406b3230680d06ab189bcb95337b9cc;hpb=8b366481a27ae38bce4099ac17817511e0cd5425 diff --git a/lttng-sessiond/ust-app.c b/lttng-sessiond/ust-app.c index 7276cbb63..69164126b 100644 --- a/lttng-sessiond/ust-app.c +++ b/lttng-sessiond/ust-app.c @@ -1136,7 +1136,9 @@ int create_ust_app_event(struct ust_app_session *ua_sess, /* Create it on the tracer side */ ret = create_ust_event(app, ua_sess, ua_chan, ua_event); if (ret < 0) { + rcu_read_lock(); delete_ust_app_event(app->key.sock, ua_event); + rcu_read_unlock(); goto error; } @@ -1370,6 +1372,8 @@ int ust_app_list_events(struct lttng_event **events) rcu_read_lock(); cds_lfht_for_each_entry(ust_app_ht, &iter, app, node) { + struct lttng_ust_tracepoint_iter iter; + handle = ustctl_tracepoint_list(app->key.sock); if (handle < 0) { ERR("UST app list events getting handle failed for app pid %d", @@ -1378,7 +1382,9 @@ int ust_app_list_events(struct lttng_event **events) } while ((ret = ustctl_tracepoint_list_get(app->key.sock, handle, - tmp[count].name)) != -ENOENT) { + &iter)) != -ENOENT) { + memcpy(tmp[count].name, iter.name, LTTNG_UST_SYM_NAME_LEN); + /* TODO : get loglevel too */ if (count > nbmem) { DBG2("Reallocating event list from %zu to %zu bytes", nbmem, nbmem + UST_APP_EVENT_LIST_SIZE);