projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Port: Use LTTNG_PATH_MAX instead of PATH_MAX
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
cmd.c
diff --git
a/src/bin/lttng-sessiond/cmd.c
b/src/bin/lttng-sessiond/cmd.c
index 6237d673efca6b1abd5c778949c8863be6fc72ef..65d1d090e393d21e191770bfe0888b0c7c022d8c 100644
(file)
--- a/
src/bin/lttng-sessiond/cmd.c
+++ b/
src/bin/lttng-sessiond/cmd.c
@@
-237,7
+237,7
@@
static int list_lttng_agent_events(struct agent *agt,
strncpy(tmp_events[i].name, event->name, sizeof(tmp_events[i].name));
tmp_events[i].name[sizeof(tmp_events[i].name) - 1] = '\0';
tmp_events[i].enabled = event->enabled;
strncpy(tmp_events[i].name, event->name, sizeof(tmp_events[i].name));
tmp_events[i].name[sizeof(tmp_events[i].name) - 1] = '\0';
tmp_events[i].enabled = event->enabled;
- tmp_events[i].loglevel = event->loglevel;
+ tmp_events[i].loglevel = event->loglevel
_value
;
tmp_events[i].loglevel_type = event->loglevel_type;
i++;
}
tmp_events[i].loglevel_type = event->loglevel_type;
i++;
}
@@
-1225,32
+1225,22
@@
int cmd_disable_event(struct ltt_session *session,
switch (event->type) {
case LTTNG_EVENT_ALL:
switch (event->type) {
case LTTNG_EVENT_ALL:
- ret = event_kernel_disable_event_all(kchan);
- if (ret != LTTNG_OK) {
- goto error_unlock;
- }
- break;
- case LTTNG_EVENT_TRACEPOINT: /* fall-through */
+ case LTTNG_EVENT_TRACEPOINT:
case LTTNG_EVENT_SYSCALL:
case LTTNG_EVENT_SYSCALL:
- if (!strcmp(event_name, "*")) {
- ret = event_kernel_disable_event_type(kchan,
- event->type);
+ case LTTNG_EVENT_PROBE:
+ case LTTNG_EVENT_FUNCTION:
+ case LTTNG_EVENT_FUNCTION_ENTRY:/* fall-through */
+ if (event_name[0] == '\0') {
+ ret = event_kernel_disable_event(kchan,
+ NULL, event->type);
} else {
ret = event_kernel_disable_event(kchan,
} else {
ret = event_kernel_disable_event(kchan,
- event_name);
+ event_name
, event->type
);
}
if (ret != LTTNG_OK) {
goto error_unlock;
}
break;
}
if (ret != LTTNG_OK) {
goto error_unlock;
}
break;
- case LTTNG_EVENT_PROBE:
- case LTTNG_EVENT_FUNCTION:
- case LTTNG_EVENT_FUNCTION_ENTRY:
- ret = event_kernel_disable_event(kchan, event_name);
- if (ret != LTTNG_OK) {
- goto error_unlock;
- }
- break;
default:
ret = LTTNG_ERR_UNK;
goto error_unlock;
default:
ret = LTTNG_ERR_UNK;
goto error_unlock;
@@
-1273,7
+1263,7
@@
int cmd_disable_event(struct ltt_session *session,
/*
* If a non-default channel has been created in the
/*
* If a non-default channel has been created in the
- * session, explicit
e
ly require that -c chan_name needs
+ * session, explicitly require that -c chan_name needs
* to be provided.
*/
if (usess->has_non_default_channel && channel_name[0] == '\0') {
* to be provided.
*/
if (usess->has_non_default_channel && channel_name[0] == '\0') {
@@
-1290,7
+1280,16
@@
int cmd_disable_event(struct ltt_session *session,
switch (event->type) {
case LTTNG_EVENT_ALL:
switch (event->type) {
case LTTNG_EVENT_ALL:
- ret = event_ust_disable_tracepoint(usess, uchan, event_name);
+ /*
+ * An empty event name means that everything
+ * should be disabled.
+ */
+ if (event->name[0] == '\0') {
+ ret = event_ust_disable_all_tracepoints(usess, uchan);
+ } else {
+ ret = event_ust_disable_tracepoint(usess, uchan,
+ event_name);
+ }
if (ret != LTTNG_OK) {
goto error_unlock;
}
if (ret != LTTNG_OK) {
goto error_unlock;
}
@@
-1326,8
+1325,11
@@
int cmd_disable_event(struct ltt_session *session,
ret = -LTTNG_ERR_UST_EVENT_NOT_FOUND;
goto error_unlock;
}
ret = -LTTNG_ERR_UST_EVENT_NOT_FOUND;
goto error_unlock;
}
- /* The wild card * means that everything should be disabled. */
- if (strncmp(event->name, "*", 1) == 0 && strlen(event->name) == 1) {
+ /*
+ * An empty event name means that everything
+ * should be disabled.
+ */
+ if (event->name[0] == '\0') {
ret = event_agent_disable_all(usess, agt);
} else {
ret = event_agent_disable(usess, agt, event_name);
ret = event_agent_disable_all(usess, agt);
} else {
ret = event_agent_disable(usess, agt, event_name);
@@
-1535,13
+1537,13
@@
static int _cmd_enable_event(struct ltt_session *session,
DBG("Enable event command for event \'%s\'", event->name);
DBG("Enable event command for event \'%s\'", event->name);
+ rcu_read_lock();
+
ret = validate_event_name(event->name);
if (ret) {
goto error;
}
ret = validate_event_name(event->name);
if (ret) {
goto error;
}
- rcu_read_lock();
-
switch (domain->type) {
case LTTNG_DOMAIN_KERNEL:
{
switch (domain->type) {
case LTTNG_DOMAIN_KERNEL:
{
@@
-1633,9
+1635,10
@@
static int _cmd_enable_event(struct ltt_session *session,
event->type = LTTNG_EVENT_SYSCALL; /* Hack */
ret = event_kernel_enable_event(kchan, event,
filter_expression_a, filter_a);
event->type = LTTNG_EVENT_SYSCALL; /* Hack */
ret = event_kernel_enable_event(kchan, event,
filter_expression_a, filter_a);
+ /* We have passed ownership */
+ filter_expression_a = NULL;
+ filter_a = NULL;
if (ret != LTTNG_OK) {
if (ret != LTTNG_OK) {
- free(filter_expression_a);
- free(filter_a);
goto error;
}
break;
goto error;
}
break;
@@
-2358,7
+2361,7
@@
int cmd_create_session_snapshot(char *name, struct lttng_uri *uris,
* Create session in no output mode with URIs set to NULL. The uris we've
* received are for a default snapshot output if one.
*/
* Create session in no output mode with URIs set to NULL. The uris we've
* received are for a default snapshot output if one.
*/
- ret = cmd_create_session_uri(name, NULL, 0, creds,
-1
);
+ ret = cmd_create_session_uri(name, NULL, 0, creds,
0
);
if (ret != LTTNG_OK) {
goto error;
}
if (ret != LTTNG_OK) {
goto error;
}
@@
-2756,7
+2759,11
@@
ssize_t cmd_list_events(enum lttng_domain_type domain,
rcu_read_lock();
cds_lfht_for_each_entry(session->ust_session->agents->ht,
&iter.iter, agt, node.node) {
rcu_read_lock();
cds_lfht_for_each_entry(session->ust_session->agents->ht,
&iter.iter, agt, node.node) {
- nb_event = list_lttng_agent_events(agt, events);
+ if (agt->domain == domain) {
+ nb_event = list_lttng_agent_events(
+ agt, events);
+ break;
+ }
}
rcu_read_unlock();
}
}
rcu_read_unlock();
}
This page took
0.0266110000000001 seconds
and
4
git commands to generate.