X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=lttng-events.c;h=65bd0bf9ae6d45c4bbc0395d63211e9642330a59;hb=d216ecaeeb6274154ace1317f61b9f3fe54ba857;hp=c103c6ed0d8a53392afd21352734587819bb3d2e;hpb=07dfc1d0e4b093ad02682499a702dc11e54e8302;p=lttng-modules.git diff --git a/lttng-events.c b/lttng-events.c index c103c6ed..65bd0bf9 100644 --- a/lttng-events.c +++ b/lttng-events.c @@ -492,7 +492,7 @@ struct lttng_event *_lttng_event_create(struct lttng_channel *chan, name_len = strlen(event_name); hash = jhash(event_name, name_len, 0); head = &session->events_ht.table[hash & (LTTNG_EVENT_HT_SIZE - 1)]; - hlist_for_each_entry(event, head, hlist) { + lttng_hlist_for_each_entry(event, head, hlist) { WARN_ON_ONCE(!event->desc); if (!strncmp(event->desc->name, event_name, LTTNG_KERNEL_SYM_NAME_LEN - 1) @@ -671,7 +671,7 @@ static void register_event(struct lttng_event *event) { const struct lttng_event_desc *desc; - int ret; + int ret = -EINVAL; if (event->registered) return; @@ -1131,7 +1131,7 @@ void lttng_create_tracepoint_if_missing(struct lttng_enabler *enabler) */ hash = jhash(event_name, name_len, 0); head = &session->events_ht.table[hash & (LTTNG_EVENT_HT_SIZE - 1)]; - hlist_for_each_entry(event, head, hlist) { + lttng_hlist_for_each_entry(event, head, hlist) { if (event->desc == desc && event->chan == enabler->chan) found = 1; @@ -1218,6 +1218,11 @@ int lttng_enabler_ref_events(struct lttng_enabler *enabler) &event->enablers_ref_head); } + /* + * Link filter bytecodes if not linked yet. + */ + lttng_enabler_event_link_bytecode(event, enabler); + /* TODO: merge event context. */ } return 0; @@ -1252,7 +1257,7 @@ struct lttng_enabler *lttng_enabler_create(enum lttng_enabler_type type, sizeof(enabler->event_param)); enabler->chan = chan; /* ctx left NULL */ - enabler->enabled = 1; + enabler->enabled = 0; enabler->evtype = LTTNG_TYPE_ENABLER; mutex_lock(&sessions_mutex); list_add(&enabler->node, &enabler->chan->session->enablers_head); @@ -1404,9 +1409,8 @@ void lttng_session_sync_enablers(struct lttng_session *session) /* Enable filters */ list_for_each_entry(runtime, - &event->bytecode_runtime_head, node) { + &event->bytecode_runtime_head, node) lttng_filter_sync_state(runtime); - } } }