Fix enable all syscalls
[lttng-tools.git] / ltt-sessiond / main.c
index 867ba4188e37419c2f419429248126c97143bae8..a1c7ff89e299bc6e2f637e5d6ef8612230ff18de 100644 (file)
@@ -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:
This page took 0.024413 seconds and 5 git commands to generate.