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 */
memcpy(&events[i].attr.ftrace, &event->event->u.ftrace,
sizeof(struct lttng_kernel_function));
break;
+ case LTTNG_KERNEL_NOOP:
+ events[i].type = LTTNG_EVENT_NOOP;
+ break;
+ case LTTNG_KERNEL_SYSCALL:
+ events[i].type = LTTNG_EVENT_SYSCALL;
+ break;
}
i++;
}
* 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;
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;
}
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:
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);