X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Ftrace-ust.c;h=d1e8b8dae117a4369d35681a0e6d7462b0f136c3;hp=ed635f960501b672b047ffd245436cbf46b2c533;hb=a4b92340642035d1eafeb1eead0ad01f64d2007d;hpb=6775595e33fcf411716849374390e5f8179c8735 diff --git a/src/bin/lttng-sessiond/trace-ust.c b/src/bin/lttng-sessiond/trace-ust.c index ed635f960..d1e8b8dae 100644 --- a/src/bin/lttng-sessiond/trace-ust.c +++ b/src/bin/lttng-sessiond/trace-ust.c @@ -109,13 +109,37 @@ struct ltt_ust_session *trace_ust_create_session(char *path, /* Alloc UST global domain channels' HT */ lus->domain_global.channels = lttng_ht_new(0, LTTNG_HT_TYPE_STRING); - /* Set session path */ - ret = snprintf(lus->pathname, PATH_MAX, "%s/ust", path); - if (ret < 0) { - PERROR("snprintf kernel traces path"); + lus->consumer = consumer_create_output(CONSUMER_DST_LOCAL); + if (lus->consumer == NULL) { goto error_free_session; } + /* + * The tmp_consumer stays NULL until a set_consumer_uri command is + * executed. At this point, the consumer should be nullify until an + * enable_consumer command. This assignment is symbolic since we've zmalloc + * the struct. + */ + lus->tmp_consumer = NULL; + + /* Use the default consumer output which is the tracing session path. */ + if (path && strlen(path) > 0) { + ret = snprintf(lus->consumer->dst.trace_path, PATH_MAX, + "%s" DEFAULT_UST_TRACE_DIR, path); + if (ret < 0) { + PERROR("snprintf UST consumer trace path"); + goto error; + } + + /* Set session path */ + ret = snprintf(lus->pathname, PATH_MAX, "%s" DEFAULT_UST_TRACE_DIR, + path); + if (ret < 0) { + PERROR("snprintf kernel traces path"); + goto error_free_session; + } + } + DBG2("UST trace session create successful"); return lus; @@ -390,7 +414,7 @@ void trace_ust_destroy_event(struct ltt_ust_event *event) { DBG2("Trace destroy UST event %s", event->attr.name); destroy_contexts(event->ctx); - + free(event->filter); free(event); }