Missing negative sign to interpret error code
[lttng-tools.git] / ltt-sessiond / main.c
index 5a0ad0b8aaaca228b3cb27efaedbd881fe8a1210..bcb43e19d423345fda151561f2a5b3353eeeef96 100644 (file)
@@ -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 */
@@ -1716,8 +1716,8 @@ static void list_lttng_events(struct ltt_kernel_channel *kchan,
                        case LTTNG_KERNEL_NOOP:
                                events[i].type = LTTNG_EVENT_NOOP;
                                break;
-                       case LTTNG_KERNEL_SYSCALLS:
-                               events[i].type = LTTNG_EVENT_SYSCALLS;
+                       case LTTNG_KERNEL_SYSCALL:
+                               events[i].type = LTTNG_EVENT_SYSCALL;
                                break;
                }
                i++;
@@ -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");
This page took 0.025106 seconds and 4 git commands to generate.