From 481b4606ca2979586ac74b126d0199d416b433c4 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Mon, 8 Nov 2021 11:34:30 -0500 Subject: [PATCH] Refactoring: combine common code into lttng_event_enabler_attach_exclusion Signed-off-by: Mathieu Desnoyers Change-Id: I2a04f627b114f0220eed2369441fc22891604d1a --- src/lib/lttng-ust/events.h | 13 ++----------- src/lib/lttng-ust/lttng-events.c | 28 ++++------------------------ src/lib/lttng-ust/lttng-ust-abi.c | 4 ++-- 3 files changed, 8 insertions(+), 37 deletions(-) diff --git a/src/lib/lttng-ust/events.h b/src/lib/lttng-ust/events.h index 0f56f940..7b2b42b6 100644 --- a/src/lib/lttng-ust/events.h +++ b/src/lib/lttng-ust/events.h @@ -73,10 +73,10 @@ int lttng_event_enabler_attach_context(struct lttng_event_enabler_session_common __attribute__((visibility("hidden"))); /* - * Attach exclusion list to `struct lttng_event_enabler` and all + * Attach exclusion list to `struct lttng_event_enabler_common` and all * events related to this enabler. */ -int lttng_event_enabler_attach_exclusion(struct lttng_event_enabler_session_common *enabler, +int lttng_event_enabler_attach_exclusion(struct lttng_event_enabler_common *enabler, struct lttng_ust_excluder_node **excluder) __attribute__((visibility("hidden"))); @@ -130,15 +130,6 @@ int lttng_event_notifier_enabler_attach_capture_bytecode( struct lttng_ust_bytecode_node **bytecode) __attribute__((visibility("hidden"))); -/* - * Attach exclusion list to `struct lttng_event_notifier_enabler` and all - * event notifiers related to this enabler. - */ -int lttng_event_notifier_enabler_attach_exclusion( - struct lttng_event_notifier_enabler *event_notifier_enabler, - struct lttng_ust_excluder_node **excluder) - __attribute__((visibility("hidden"))); - void lttng_free_event_filter_runtime(struct lttng_ust_event_common *event) __attribute__((visibility("hidden"))); diff --git a/src/lib/lttng-ust/lttng-events.c b/src/lib/lttng-ust/lttng-events.c index 396ac9a0..ccbf5114 100644 --- a/src/lib/lttng-ust/lttng-events.c +++ b/src/lib/lttng-ust/lttng-events.c @@ -1819,22 +1819,14 @@ int lttng_event_enabler_attach_filter_bytecode(struct lttng_event_enabler_common return 0; } -static -void _lttng_enabler_attach_exclusion(struct lttng_event_enabler_common *enabler, +int lttng_event_enabler_attach_exclusion(struct lttng_event_enabler_common *event_enabler, struct lttng_ust_excluder_node **excluder) { - (*excluder)->enabler = enabler; - cds_list_add_tail(&(*excluder)->node, &enabler->excluder_head); + (*excluder)->enabler = event_enabler; + cds_list_add_tail(&(*excluder)->node, &event_enabler->excluder_head); /* Take ownership of excluder */ *excluder = NULL; -} - -int lttng_event_enabler_attach_exclusion(struct lttng_event_enabler_session_common *event_enabler, - struct lttng_ust_excluder_node **excluder) -{ - _lttng_enabler_attach_exclusion(&event_enabler->parent, excluder); - - lttng_session_lazy_sync_event_enablers(event_enabler->chan->session); + lttng_event_enabler_sync(event_enabler); return 0; } @@ -1854,18 +1846,6 @@ int lttng_event_notifier_enabler_attach_capture_bytecode( return 0; } -int lttng_event_notifier_enabler_attach_exclusion( - struct lttng_event_notifier_enabler *event_notifier_enabler, - struct lttng_ust_excluder_node **excluder) -{ - _lttng_enabler_attach_exclusion( - lttng_event_notifier_enabler_as_enabler(event_notifier_enabler), - excluder); - - lttng_event_notifier_group_sync_enablers(event_notifier_enabler->group); - return 0; -} - int lttng_attach_context(struct lttng_ust_abi_context *context_param, union lttng_ust_abi_args *uargs, struct lttng_ust_ctx **ctx, struct lttng_ust_session *session) diff --git a/src/lib/lttng-ust/lttng-ust-abi.c b/src/lib/lttng-ust/lttng-ust-abi.c index b10541ab..63e21f21 100644 --- a/src/lib/lttng-ust/lttng-ust-abi.c +++ b/src/lib/lttng-ust/lttng-ust-abi.c @@ -862,7 +862,7 @@ long lttng_event_notifier_enabler_cmd(int objd, unsigned int cmd, unsigned long &event_notifier_enabler->parent, (struct lttng_ust_bytecode_node **) arg); case LTTNG_UST_ABI_EXCLUSION: - return lttng_event_notifier_enabler_attach_exclusion(event_notifier_enabler, + return lttng_event_enabler_attach_exclusion(&event_notifier_enabler->parent, (struct lttng_ust_excluder_node **) arg); case LTTNG_UST_ABI_CAPTURE: return lttng_event_notifier_enabler_attach_capture_bytecode( @@ -1784,7 +1784,7 @@ long lttng_event_enabler_cmd(int objd, unsigned int cmd, unsigned long arg, } case LTTNG_UST_ABI_EXCLUSION: { - return lttng_event_enabler_attach_exclusion(enabler, + return lttng_event_enabler_attach_exclusion(&enabler->parent, (struct lttng_ust_excluder_node **) arg); } default: -- 2.34.1