.name = "lttng_metadata",
};
struct ltt_event *event;
- int ret;
/*
* We tolerate no failure path after event creation. It will stay
*/
event = ltt_event_create(channel, &metadata_params, NULL);
if (!event) {
- ret = -EINVAL;
goto create_error;
}
return;
int ret = 0;
struct ltt_channel chan_priv_init;
- chan_objd = objd_alloc(NULL, <tng_channel_ops);
- if (chan_objd < 0) {
- ret = chan_objd;
- goto objd_error;
- }
switch (channel_type) {
case PER_CPU_CHANNEL:
if (chan_param->output == LTTNG_UST_MMAP) {
break;
default:
transport_name = "<unknown>";
- break;
+ return -EINVAL;
+ }
+ chan_objd = objd_alloc(NULL, ops);
+ if (chan_objd < 0) {
+ ret = chan_objd;
+ goto objd_error;
}
memset(&chan_priv_init, 0, sizeof(chan_priv_init));
/* Copy of session UUID for consumer (availability through shm) */
void ltt_tracepoint_list_get(struct ltt_tracepoint_list *list,
char *tp_list_entry)
{
+next:
if (!list->got_first) {
tracepoint_iter_start(&list->iter);
list->got_first = 1;
if (!list->iter.tracepoint) {
tp_list_entry[0] = '\0'; /* end of list */
} else {
+ if (!strcmp((*list->iter.tracepoint)->name, "metadata"))
+ goto next;
memcpy(tp_list_entry, (*list->iter.tracepoint)->name,
LTTNG_UST_SYM_NAME_LEN);
}
long lttng_tracepoint_list_cmd(int objd, unsigned int cmd, unsigned long arg)
{
struct ltt_tracepoint_list *list = objd_private(objd);
+ char *str = (char *) arg;
switch (cmd) {
case LTTNG_UST_TRACEPOINT_LIST_GET:
- ltt_tracepoint_list_get(list, (char *) arg);
+ ltt_tracepoint_list_get(list, str);
+ if (str[0] == '\0')
+ return -ENOENT;
return 0;
default:
return -EINVAL;