X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=ltt-sessiond%2Ftrace.c;h=f59c96f3f7c40f06596052dc415ee6051ae4a7b2;hb=0f7a07a734ff993a3cf4d132003398f1f7c1e2f4;hp=eb7d0e152497569634e5fbf094d2a8d7170e9cbe;hpb=19e708528b7ebd740485ca05056e56e6835d43a7;p=lttng-tools.git diff --git a/ltt-sessiond/trace.c b/ltt-sessiond/trace.c index eb7d0e152..f59c96f3f 100644 --- a/ltt-sessiond/trace.c +++ b/ltt-sessiond/trace.c @@ -119,7 +119,7 @@ error: * * Return pointer to structure or NULL. */ -struct ltt_kernel_channel *trace_create_kernel_channel(struct lttng_channel *chan) +struct ltt_kernel_channel *trace_create_kernel_channel(struct lttng_channel *chan, char *path) { int ret; struct ltt_kernel_channel *lkc; @@ -139,11 +139,12 @@ struct ltt_kernel_channel *trace_create_kernel_channel(struct lttng_channel *cha lkc->fd = 0; lkc->stream_count = 0; + lkc->enabled = 1; /* Init linked list */ CDS_INIT_LIST_HEAD(&lkc->events_list.head); CDS_INIT_LIST_HEAD(&lkc->stream_list.head); /* Set default trace output path */ - ret = asprintf(&lkc->pathname, "%s", DEFAULT_TRACE_OUTPUT); + ret = asprintf(&lkc->pathname, "%s", path); if (ret < 0) { perror("asprintf kernel create channel"); goto error; @@ -201,6 +202,7 @@ struct ltt_kernel_event *trace_create_kernel_event(struct lttng_event *ev) /* Setting up a kernel event */ lke->fd = 0; lke->event = attr; + lke->enabled = 1; return lke; @@ -234,6 +236,7 @@ struct ltt_kernel_metadata *trace_create_kernel_metadata(void) chan->attr.num_subbuf = DEFAULT_CHANNEL_SUBBUF_NUM; chan->attr.switch_timer_interval = DEFAULT_CHANNEL_SWITCH_TIMER; chan->attr.read_timer_interval = DEFAULT_CHANNEL_READ_TIMER; + chan->attr.output = DEFAULT_KERNEL_CHANNEL_OUTPUT; /* Init metadata */ lkm->fd = 0; @@ -355,7 +358,9 @@ void trace_destroy_kernel_session(struct ltt_kernel_session *session) close(session->metadata_stream_fd); } - trace_destroy_kernel_metadata(session->metadata); + if (session->metadata != NULL) { + trace_destroy_kernel_metadata(session->metadata); + } cds_list_for_each_entry(channel, &session->channel_list.head, list) { trace_destroy_kernel_channel(channel);