[lttng-dev] [PATCH lttng-ust 7/7] Add a check against excluders
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Wed Nov 13 09:05:13 EST 2013
----- Original Message -----
> From: "JP Ikaheimonen" <jp_ikaheimonen at mentor.com>
> To: lttng-dev at lists.lttng.org
> Sent: Thursday, November 7, 2013 5:22:35 AM
> Subject: [lttng-dev] [PATCH lttng-ust 7/7] Add a check against excluders
>
> When matching enablers with events, first check against all
> excluders of the enabler. If the event matches with any of the excluders,
> then the event does not match with the enabler.
>
> Signed-off-by: JP Ikaheimonen <jp_ikaheimonen at mentor.com>
> ---
> liblttng-ust/lttng-events.c | 23 +++++++++++++++++++++++
> 1 file changed, 23 insertions(+)
>
> diff --git a/liblttng-ust/lttng-events.c b/liblttng-ust/lttng-events.c
> index 915cffb..fa5596c 100644
> --- a/liblttng-ust/lttng-events.c
> +++ b/liblttng-ust/lttng-events.c
> @@ -491,6 +491,29 @@ static
> int lttng_desc_match_enabler(const struct lttng_event_desc *desc,
> struct lttng_enabler *enabler)
> {
> + struct lttng_ust_excluder_node *excluder;
> +
> + /* If event matches with an excluder, return 'does not match' */
> + cds_list_for_each_entry(excluder, &enabler->excluder_head, node) {
> + int found = 0;
Why is "found" declared here ? Why is it initialized to 0 ?
> + int count, len;
> + char *excluder_name;
> +
> + for (count = 0; count < excluder->excluder.count; count++) {
Rather than declared here ?
> + excluder_name = (char *)(excluder->excluder.names)
> + + count * LTTNG_UST_SYM_NAME_LEN;
> + len = strnlen(excluder_name, LTTNG_UST_SYM_NAME_LEN);
> + if (len > 0 && excluder_name[len - 1] == '*') {
> + found = strncmp(desc->name, excluder_name, len - 1);
strncmp and "found" have reversed logic. I'd assign found = !strncmp(....).
> + } else {
> + found = strncmp(desc->name, excluder_name,
> + LTTNG_UST_SYM_NAME_LEN - 1);
> + }
> + if (!found) {
and reverse this condition.
The other patches in this patchset look good !! Good job !!
Thanks,
Mathieu
> + return 0;
> + }
> + }
> + }
> switch (enabler->type) {
> case LTTNG_ENABLER_WILDCARD:
> return lttng_desc_match_wildcard_enabler(desc, enabler);
> --
> 1.8.1.2
>
>
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list