\-c, \-\-channel
Apply on channel name
\-a, \-\-all
- Enable all tracepoints
+ Enable all tracepoints and syscalls
\-k, \-\-kernel
Apply for the kernel tracer
\-u, \-\-userspace
struct lttng_event_context *ctx, char *event_name,
char *channel_name)
{
- int ret = LTTCOMM_OK, have_event = 0, no_chan = 1;
+ int ret = LTTCOMM_OK, have_event = 0;
struct lttng_ht_iter iter;
struct lttng_ht *chan_ht;
struct ltt_ust_channel *uchan = NULL;
} else if (!uchan && !have_event) { /* Add ctx all events, all channels */
/* For all channels */
cds_lfht_for_each_entry(chan_ht->ht, &iter.iter, uchan, node.node) {
- no_chan = 0;
ret = add_uctx_to_channel(usess, domain, uchan, ctx);
if (ret < 0) {
ERR("Context failed for channel %s", uchan->name);
break;
}
- if (no_chan) {
- ret = LTTCOMM_UST_CHAN_NOT_FOUND;
- }
-
error:
return ret;
}
rcu_read_lock();
cds_lfht_for_each_entry(usess->channels->ht, &iter.iter, ua_chan,
node.node) {
+ /*
+ * Indicate that the channel was not created on the tracer side so skip
+ * sending unexisting streams.
+ */
+ if (ua_chan->obj == NULL) {
+ continue;
+ }
+
ret = send_channel_streams(sock, ua_chan, usess->uid, usess->gid);
if (ret < 0) {
rcu_read_unlock();
fprintf(ofp, " --list-options Simple listing of options\n");
fprintf(ofp, " -s, --session Apply to session name\n");
fprintf(ofp, " -c, --channel Apply to this channel\n");
- fprintf(ofp, " -a, --all Enable all tracepoints\n");
+ fprintf(ofp, " -a, --all Enable all tracepoints and syscalls\n");
fprintf(ofp, " -k, --kernel Apply for the kernel tracer\n");
#if 0
fprintf(ofp, " -u, --userspace [CMD] Apply to the user-space tracer\n");