X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=ltt-sessiond%2Fmain.c;h=f887fa12441d4b94ae74c5710b44d6850a791c23;hb=f84efadf55274918ca038a4e06e0a8af1a320654;hp=32e47068efc31eacc56cb8e77660f0047892348b;hpb=ee0b00610a6b7beaf6af8feddd7ef6751f22debf;p=lttng-tools.git diff --git a/ltt-sessiond/main.c b/ltt-sessiond/main.c index 32e47068e..f887fa124 100644 --- a/ltt-sessiond/main.c +++ b/ltt-sessiond/main.c @@ -2053,15 +2053,23 @@ static int cmd_enable_event(struct ltt_session *session, int domain, { int ret; struct ltt_kernel_channel *kchan; + struct lttng_channel *attr; switch (domain) { case LTTNG_DOMAIN_KERNEL: kchan = trace_kernel_get_channel_by_name(channel_name, session->kernel_session); if (kchan == NULL) { + attr = channel_new_default_attr(domain); + if (attr == NULL) { + ret = LTTCOMM_FATAL; + goto error; + } + snprintf(attr->name, NAME_MAX, "%s", channel_name); + /* This call will notify the kernel thread */ ret = channel_kernel_create(session->kernel_session, - NULL, kernel_poll_pipe[1]); + attr, kernel_poll_pipe[1]); if (ret != LTTCOMM_OK) { goto error; } @@ -2606,14 +2614,17 @@ static int process_client_msg(struct command_ctx *cmd_ctx) } /* Start the kernel consumer daemon */ + pthread_mutex_lock(&kconsumerd_pid_mutex); if (kconsumerd_pid == 0 && cmd_ctx->lsm->cmd_type != LTTNG_REGISTER_CONSUMER) { + pthread_mutex_unlock(&kconsumerd_pid_mutex); ret = start_kconsumerd(); if (ret < 0) { ret = LTTCOMM_KERN_CONSUMER_FAIL; goto error; } } + pthread_mutex_unlock(&kconsumerd_pid_mutex); } break; case LTTNG_DOMAIN_UST_PID: