X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=ltt-sessiond%2Fmain.c;h=bcb43e19d423345fda151561f2a5b3353eeeef96;hb=0b0dd29a48f5855eeb7cda99efaa079d8353eb6b;hp=c85ff03511e55c9d78b676c457dfd5b58077b1f5;hpb=a54bd42d73836eb9033a31c3f68be5b7e8612dce;p=lttng-tools.git diff --git a/ltt-sessiond/main.c b/ltt-sessiond/main.c index c85ff0351..bcb43e19d 100644 --- a/ltt-sessiond/main.c +++ b/ltt-sessiond/main.c @@ -1455,7 +1455,7 @@ static void init_kernel_tracer(void) int ret; char *proc_mounts = "/proc/mounts"; char line[256]; - char *debugfs_path = NULL, *lttng_path; + char *debugfs_path = NULL, *lttng_path = NULL; FILE *fp; /* Detect debugfs */ @@ -1950,7 +1950,7 @@ error: * Command LTTNG_ENABLE_ALL_EVENT processed by the client thread. */ static int cmd_enable_event_all(struct ltt_session *session, int domain, - char *channel_name) + char *channel_name, int event_type) { int ret; struct ltt_kernel_channel *kchan; @@ -1977,8 +1977,18 @@ static int cmd_enable_event_all(struct ltt_session *session, int domain, goto error; } - ret = event_kernel_enable_all(session->kernel_session, - kchan, kernel_tracer_fd); + if (event_type == LTTNG_KERNEL_SYSCALL) { + ret = event_kernel_enable_syscalls(session->kernel_session, + kchan, kernel_tracer_fd); + } else { + /* + * This call enables all LTTNG_KERNEL_TRACEPOINTS and events + * already registered to the channel. + */ + ret = event_kernel_enable_all(session->kernel_session, + kchan, kernel_tracer_fd); + } + if (ret != LTTCOMM_OK) { goto error; } @@ -2501,7 +2511,8 @@ static int process_client_msg(struct command_ctx *cmd_ctx) DBG("Enabling all kernel event"); ret = cmd_enable_event_all(cmd_ctx->session, cmd_ctx->lsm->domain.type, - cmd_ctx->lsm->u.enable.channel_name); + cmd_ctx->lsm->u.enable.channel_name, + cmd_ctx->lsm->u.enable.event.type); break; } case LTTNG_LIST_TRACEPOINTS: @@ -2609,7 +2620,7 @@ static int process_client_msg(struct command_ctx *cmd_ctx) case LTTNG_LIST_EVENTS: { size_t nb_event; - struct lttng_event *events; + struct lttng_event *events = NULL; nb_event = cmd_list_events(cmd_ctx->session, cmd_ctx->lsm->u.list.channel_name, &events); @@ -2823,7 +2834,7 @@ static void *thread_manage_clients(void *data) DBG("Sending response (size: %d, retcode: %s)", cmd_ctx->lttng_msg_size, - lttng_get_readable_code(cmd_ctx->llm->ret_code)); + lttng_get_readable_code(-cmd_ctx->llm->ret_code)); ret = send_unix_sock(sock, cmd_ctx->llm, cmd_ctx->lttng_msg_size); if (ret < 0) { ERR("Failed to send data back to client");