X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Ftrace-ust.c;h=4c7dac8b72111f33904e7fef69a53e77578171cb;hp=d1e8b8dae117a4369d35681a0e6d7462b0f136c3;hb=178191b3899f114001f000c2e7f46909969f9c6f;hpb=a4b92340642035d1eafeb1eead0ad01f64d2007d diff --git a/src/bin/lttng-sessiond/trace-ust.c b/src/bin/lttng-sessiond/trace-ust.c index d1e8b8dae..4c7dac8b7 100644 --- a/src/bin/lttng-sessiond/trace-ust.c +++ b/src/bin/lttng-sessiond/trace-ust.c @@ -111,7 +111,7 @@ struct ltt_ust_session *trace_ust_create_session(char *path, lus->consumer = consumer_create_output(CONSUMER_DST_LOCAL); if (lus->consumer == NULL) { - goto error_free_session; + goto error_consumer; } /* @@ -128,7 +128,7 @@ struct ltt_ust_session *trace_ust_create_session(char *path, "%s" DEFAULT_UST_TRACE_DIR, path); if (ret < 0) { PERROR("snprintf UST consumer trace path"); - goto error; + goto error_path; } /* Set session path */ @@ -136,7 +136,7 @@ struct ltt_ust_session *trace_ust_create_session(char *path, path); if (ret < 0) { PERROR("snprintf kernel traces path"); - goto error_free_session; + goto error_path; } } @@ -144,7 +144,9 @@ struct ltt_ust_session *trace_ust_create_session(char *path, return lus; -error_free_session: +error_path: + consumer_destroy_output(lus->consumer); +error_consumer: lttng_ht_destroy(lus->domain_global.channels); lttng_ht_destroy(lus->domain_exec); lttng_ht_destroy(lus->domain_pid); @@ -272,12 +274,6 @@ struct ltt_ust_event *trace_ust_create_event(struct lttng_event *ev) /* Init node */ lttng_ht_node_init_str(&lue->node, lue->attr.name); - /* Alloc context hash tables */ - lue->ctx = lttng_ht_new(0, LTTNG_HT_TYPE_ULONG); - if (lue->ctx == NULL) { - ERR("Unable to create context hash table for event %s", ev->name); - goto error_free_event; - } DBG2("Trace UST event %s, loglevel (%d,%d) created", lue->attr.name, lue->attr.loglevel_type, @@ -309,7 +305,7 @@ struct ltt_ust_metadata *trace_ust_create_metadata(char *path) /* Set default attributes */ lum->attr.overwrite = DEFAULT_CHANNEL_OVERWRITE; - lum->attr.subbuf_size = DEFAULT_METADATA_SUBBUF_SIZE; + lum->attr.subbuf_size = default_get_metadata_subbuf_size(); lum->attr.num_subbuf = DEFAULT_METADATA_SUBBUF_NUM; lum->attr.switch_timer_interval = DEFAULT_CHANNEL_SWITCH_TIMER; lum->attr.read_timer_interval = DEFAULT_CHANNEL_READ_TIMER; @@ -413,7 +409,6 @@ static void destroy_contexts(struct lttng_ht *ht) 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); } @@ -578,6 +573,9 @@ void trace_ust_destroy_session(struct ltt_ust_session *session) destroy_domain_pid(session->domain_pid); destroy_domain_exec(session->domain_exec); + consumer_destroy_output(session->consumer); + consumer_destroy_output(session->tmp_consumer); + free(session); rcu_read_unlock();