lttcomm_close_unix_sock(session->kernel_session->consumer_fd);
}
- trace_destroy_kernel_session(session->kernel_session);
+ trace_kernel_destroy_session(session->kernel_session);
/* Extra precaution */
session->kernel_session = NULL;
}
DBG("Cleaning up");
/* <fun> */
- MSG("\n%c[%d;%dm*** assert failed *** ==> %c[%dm%c[%d;%dm"
+ MSG("%c[%d;%dm*** assert failed *** ==> %c[%dm%c[%d;%dm"
"Matthew, BEET driven development works!%c[%dm",
27, 1, 31, 27, 0, 27, 1, 33, 27, 0);
/* </fun> */
DBG("Closing kernel fd");
close(kernel_tracer_fd);
- DBG("Unloading kernel modules");
- modprobe_remove_kernel_modules();
+ if (is_root) {
+ DBG("Unloading kernel modules");
+ modprobe_remove_kernel_modules();
+ }
}
/*
ust_cmd = caa_container_of(node, struct ust_command, node);
- DBG("Dispatching UST registration pid:%d sock:%d",
- ust_cmd->reg_msg.pid, ust_cmd->sock);
+ DBG("Dispatching UST registration pid:%d ppid:%d uid:%d"
+ " gid:%d sock:%d name:%s (version %d.%d)",
+ ust_cmd->reg_msg.pid, ust_cmd->reg_msg.ppid,
+ ust_cmd->reg_msg.uid, ust_cmd->reg_msg.gid,
+ ust_cmd->sock, ust_cmd->reg_msg.name,
+ ust_cmd->reg_msg.major, ust_cmd->reg_msg.minor);
/*
* Inform apps thread of the new application registration. This
* call is blocking so we can be assured that the data will be read
*/
ret = lttcomm_recv_unix_sock(sock, &ust_cmd->reg_msg,
sizeof(struct ust_register_msg));
- if (ret < 0 || ret != sizeof(struct ust_register_msg)) {
- perror("lttcomm_recv_unix_sock register apps");
+ if (ret < 0 || ret < sizeof(struct ust_register_msg)) {
+ if (ret < 0) {
+ perror("lttcomm_recv_unix_sock register apps");
+ } else {
+ ERR("Wrong size received on apps register");
+ }
free(ust_cmd);
close(sock);
continue;
ust_cmd->sock = sock;
+ DBG("UST registration received with pid:%d ppid:%d uid:%d"
+ " gid:%d sock:%d name:%s (version %d.%d)",
+ ust_cmd->reg_msg.pid, ust_cmd->reg_msg.ppid,
+ ust_cmd->reg_msg.uid, ust_cmd->reg_msg.gid,
+ ust_cmd->sock, ust_cmd->reg_msg.name,
+ ust_cmd->reg_msg.major, ust_cmd->reg_msg.minor);
/*
* Lock free enqueue the registration request.
* The red pill has been taken! This apps will be part of the *system*
* Implicit memory barrier with the exchange in cds_wfq_enqueue.
*/
futex_nto1_wake(&ust_cmd_queue.futex);
-
- DBG("Thread manage apps informed of queued node with sock:%d pid:%d",
- sock, ust_cmd->reg_msg.pid);
}
error:
session->kernel_session->consumer_fd = kconsumerd_cmd_sock;
}
- ret = asprintf(&session->kernel_session->trace_path, "%s/kernel",
- session->path);
- if (ret < 0) {
- perror("asprintf kernel traces path");
- goto error;
- }
-
ret = mkdir_recursive(session->kernel_session->trace_path,
S_IRWXU | S_IRWXG, geteuid(), allowed_group());
if (ret < 0) {
switch (cmd_ctx->lsm->domain.type) {
case LTTNG_DOMAIN_KERNEL:
- kchan = get_kernel_channel_by_name(cmd_ctx->lsm->u.disable.channel_name,
+ kchan = trace_kernel_get_channel_by_name(cmd_ctx->lsm->u.disable.channel_name,
cmd_ctx->session->kernel_session);
if (kchan == NULL) {
ret = LTTCOMM_KERN_CHAN_NOT_FOUND;
switch (cmd_ctx->lsm->domain.type) {
case LTTNG_DOMAIN_KERNEL:
- kchan = get_kernel_channel_by_name(cmd_ctx->lsm->u.disable.channel_name,
+ kchan = trace_kernel_get_channel_by_name(cmd_ctx->lsm->u.disable.channel_name,
cmd_ctx->session->kernel_session);
if (kchan == NULL) {
ret = LTTCOMM_KERN_CHAN_NOT_FOUND;
goto error;
}
- kevent = get_kernel_event_by_name(cmd_ctx->lsm->u.disable.name, kchan);
+ kevent = trace_kernel_get_event_by_name(cmd_ctx->lsm->u.disable.name, kchan);
if (kevent != NULL) {
DBG("Disabling kernel event %s for channel %s.", kevent->event->name,
kchan->channel->name);
switch (cmd_ctx->lsm->domain.type) {
case LTTNG_DOMAIN_KERNEL:
DBG("Disabling all enabled kernel events");
- kchan = get_kernel_channel_by_name(cmd_ctx->lsm->u.disable.channel_name,
+ kchan = trace_kernel_get_channel_by_name(cmd_ctx->lsm->u.disable.channel_name,
cmd_ctx->session->kernel_session);
if (kchan == NULL) {
ret = LTTCOMM_KERN_CHAN_NOT_FOUND;
switch (cmd_ctx->lsm->domain.type) {
case LTTNG_DOMAIN_KERNEL:
- kchan = get_kernel_channel_by_name(cmd_ctx->lsm->u.enable.channel_name,
+ kchan = trace_kernel_get_channel_by_name(cmd_ctx->lsm->u.enable.channel_name,
cmd_ctx->session->kernel_session);
if (kchan == NULL) {
/* Channel not found, creating it */
switch (cmd_ctx->lsm->domain.type) {
case LTTNG_DOMAIN_KERNEL:
- kchan = get_kernel_channel_by_name(channel_name,
+ kchan = trace_kernel_get_channel_by_name(channel_name,
cmd_ctx->session->kernel_session);
if (kchan == NULL) {
DBG("Channel not found. Creating channel %s", channel_name);
ret = LTTCOMM_KERN_CHAN_FAIL;
goto error;
}
- kchan = get_kernel_channel_by_name(channel_name,
+ kchan = trace_kernel_get_channel_by_name(channel_name,
cmd_ctx->session->kernel_session);
if (kchan == NULL) {
ERR("Channel %s not found after creation. Internal error, giving up.",
}
}
- kevent = get_kernel_event_by_name(cmd_ctx->lsm->u.enable.event.name, kchan);
+ kevent = trace_kernel_get_event_by_name(cmd_ctx->lsm->u.enable.event.name, kchan);
if (kevent == NULL) {
DBG("Creating kernel event %s for channel %s.",
cmd_ctx->lsm->u.enable.event.name, channel_name);
switch (cmd_ctx->lsm->domain.type) {
case LTTNG_DOMAIN_KERNEL:
- kchan = get_kernel_channel_by_name(channel_name,
+ kchan = trace_kernel_get_channel_by_name(channel_name,
cmd_ctx->session->kernel_session);
if (kchan == NULL) {
DBG("Channel not found. Creating channel %s", channel_name);
ret = LTTCOMM_KERN_CHAN_FAIL;
goto error;
}
- kchan = get_kernel_channel_by_name(channel_name,
+ kchan = trace_kernel_get_channel_by_name(channel_name,
cmd_ctx->session->kernel_session);
if (kchan == NULL) {
ERR("Channel %s not found after creation. Internal error, giving up.",
}
for (i = 0; i < size; i++) {
- kevent = get_kernel_event_by_name(event_list[i].name, kchan);
+ kevent = trace_kernel_get_event_by_name(event_list[i].name, kchan);
if (kevent == NULL) {
/* Default event type for enable all */
event_list[i].type = LTTNG_EVENT_TRACEPOINT;
struct ltt_kernel_channel *kchan = NULL;
if (cmd_ctx->session->kernel_session != NULL) {
- kchan = get_kernel_channel_by_name(cmd_ctx->lsm->u.list.channel_name,
+ kchan = trace_kernel_get_channel_by_name(cmd_ctx->lsm->u.list.channel_name,
cmd_ctx->session->kernel_session);
if (kchan == NULL) {
ret = LTTCOMM_KERN_CHAN_NOT_FOUND;