X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=liblttng-ust%2Flttng-events.c;h=ac8b2b70f1e097f151d35ae7d7fe7a06914a52d8;hb=51f804ec315888553a0104fe691af89216c127e8;hp=98def9a59ef2c023c5bf171400ac0f81f2102c21;hpb=d8d2416dab454962b90222ba46c82cdce0c666a4;p=lttng-ust.git diff --git a/liblttng-ust/lttng-events.c b/liblttng-ust/lttng-events.c index 98def9a5..ac8b2b70 100644 --- a/liblttng-ust/lttng-events.c +++ b/liblttng-ust/lttng-events.c @@ -59,9 +59,11 @@ #include "tracepoint-internal.h" #include "string-utils.h" +#include "lttng-bytecode.h" #include "lttng-tracer.h" #include "lttng-tracer-core.h" #include "lttng-ust-statedump.h" +#include "context-internal.h" #include "ust-events-internal.h" #include "wait.h" #include "../libringbuffer/shm.h" @@ -153,7 +155,7 @@ struct lttng_session *lttng_session_create(void) session = zmalloc(sizeof(struct lttng_session)); if (!session) return NULL; - if (lttng_session_context_init(&session->ctx)) { + if (lttng_context_init_all(&session->ctx)) { free(session); return NULL; } @@ -178,6 +180,12 @@ struct lttng_event_notifier_group *lttng_event_notifier_group_create(void) if (!event_notifier_group) return NULL; + /* Add all contexts. */ + if (lttng_context_init_all(&event_notifier_group->ctx)) { + free(event_notifier_group); + return NULL; + } + CDS_INIT_LIST_HEAD(&event_notifier_group->enablers_head); CDS_INIT_LIST_HEAD(&event_notifier_group->event_notifiers_head); for (i = 0; i < LTTNG_UST_EVENT_NOTIFIER_HT_SIZE; i++) @@ -365,7 +373,7 @@ void lttng_event_notifier_group_destroy( static void lttng_enabler_destroy(struct lttng_enabler *enabler) { - struct lttng_ust_filter_bytecode_node *filter_node, *tmp_filter_node; + struct lttng_ust_bytecode_node *filter_node, *tmp_filter_node; struct lttng_ust_excluder_node *excluder_node, *tmp_excluder_node; if (!enabler) { @@ -745,7 +753,7 @@ int lttng_event_create(const struct lttng_event_desc *desc, /* Event will be enabled by enabler sync. */ event->enabled = 0; event->registered = 0; - CDS_INIT_LIST_HEAD(&event->bytecode_runtime_head); + CDS_INIT_LIST_HEAD(&event->filter_bytecode_runtime_head); CDS_INIT_LIST_HEAD(&event->enablers_ref_head); event->desc = desc; @@ -1221,8 +1229,8 @@ int lttng_event_enabler_ref_events(struct lttng_event_enabler *event_enabler) */ lttng_enabler_link_bytecode(event->desc, &session->ctx, - &event->bytecode_runtime_head, - lttng_event_enabler_as_enabler(event_enabler)); + &event->filter_bytecode_runtime_head, + <tng_event_enabler_as_enabler(event_enabler)->filter_bytecode_head); /* TODO: merge event context. */ } @@ -1402,17 +1410,17 @@ int lttng_event_enabler_disable(struct lttng_event_enabler *event_enabler) } static -void _lttng_enabler_attach_bytecode(struct lttng_enabler *enabler, - struct lttng_ust_filter_bytecode_node *bytecode) +void _lttng_enabler_attach_filter_bytecode(struct lttng_enabler *enabler, + struct lttng_ust_bytecode_node *bytecode) { bytecode->enabler = enabler; cds_list_add_tail(&bytecode->node, &enabler->filter_bytecode_head); } -int lttng_event_enabler_attach_bytecode(struct lttng_event_enabler *event_enabler, - struct lttng_ust_filter_bytecode_node *bytecode) +int lttng_event_enabler_attach_filter_bytecode(struct lttng_event_enabler *event_enabler, + struct lttng_ust_bytecode_node *bytecode) { - _lttng_enabler_attach_bytecode( + _lttng_enabler_attach_filter_bytecode( lttng_event_enabler_as_enabler(event_enabler), bytecode); lttng_session_lazy_sync_event_enablers(event_enabler->chan->session); @@ -1455,11 +1463,11 @@ int lttng_event_notifier_enabler_disable( return 0; } -int lttng_event_notifier_enabler_attach_bytecode( +int lttng_event_notifier_enabler_attach_filter_bytecode( struct lttng_event_notifier_enabler *event_notifier_enabler, - struct lttng_ust_filter_bytecode_node *bytecode) + struct lttng_ust_bytecode_node *bytecode) { - _lttng_enabler_attach_bytecode( + _lttng_enabler_attach_filter_bytecode( lttng_event_notifier_enabler_as_enabler(event_notifier_enabler), bytecode); @@ -1634,8 +1642,8 @@ void lttng_session_sync_event_enablers(struct lttng_session *session) /* Enable filters */ cds_list_for_each_entry(runtime, - &event->bytecode_runtime_head, node) { - lttng_filter_sync_state(runtime); + &event->filter_bytecode_runtime_head, node) { + lttng_bytecode_filter_sync_state(runtime); } } __tracepoint_probe_prune_release_queue(); @@ -1754,8 +1762,9 @@ int lttng_event_notifier_enabler_ref_event_notifiers( * Link filter bytecodes if not linked yet. */ lttng_enabler_link_bytecode(event_notifier->desc, - &event_notifier_group->ctx, &event_notifier->filter_bytecode_runtime_head, - lttng_event_notifier_enabler_as_enabler(event_notifier_enabler)); + &event_notifier_group->ctx, + &event_notifier->filter_bytecode_runtime_head, + <tng_event_notifier_enabler_as_enabler(event_notifier_enabler)->filter_bytecode_head); } end: return 0; @@ -1816,7 +1825,7 @@ void lttng_event_notifier_group_sync_enablers(struct lttng_event_notifier_group /* Enable filters */ cds_list_for_each_entry(runtime, &event_notifier->filter_bytecode_runtime_head, node) { - lttng_filter_sync_state(runtime); + lttng_bytecode_filter_sync_state(runtime); } } __tracepoint_probe_prune_release_queue();