Refactoring: combine common code into lttng_create_event_if_missing
[lttng-modules.git] / src / lttng-syscalls.c
index 3208cd4d600696af741eafd6483bd3411f3a5cfa..b5bd5bd39e9ee25c59536ef4b5248cfc929b36ab 100644 (file)
@@ -537,7 +537,6 @@ int lttng_create_syscall_event_if_missing(const struct trace_syscall_entry *tabl
        enum sc_type type)
 {
        struct lttng_event_ht *events_ht = lttng_get_event_ht_from_enabler(&syscall_event_enabler->parent);
-       struct lttng_kernel_syscall_table *syscall_table = get_syscall_table_from_enabler(&syscall_event_enabler->parent);
        struct lttng_kernel_channel_buffer *chan = syscall_event_enabler->chan;
        unsigned int i;
 
@@ -555,16 +554,15 @@ int lttng_create_syscall_event_if_missing(const struct trace_syscall_entry *tabl
                        /* Unknown syscall */
                        continue;
                }
-               if (lttng_desc_match_enabler(desc,
-                               lttng_event_recorder_enabler_as_enabler(syscall_event_enabler)) <= 0)
+               if (!lttng_desc_match_enabler(desc,
+                               lttng_event_recorder_enabler_as_enabler(syscall_event_enabler)))
                        continue;
                /*
                 * Check if already created.
                 */
                head = utils_borrow_hash_table_bucket(events_ht->table, LTTNG_EVENT_HT_SIZE, desc->event_name);
                lttng_hlist_for_each_entry(event_priv, head, hlist_node) {
-                       if (event_priv->desc == desc
-                               && get_syscall_table_from_event(event_priv->pub) == syscall_table)
+                       if (lttng_event_enabler_desc_match_event(&syscall_event_enabler->parent, desc, event_priv->pub))
                                found = true;
                }
                if (found)
@@ -882,8 +880,7 @@ int create_unknown_event_notifier(
         */
        head = utils_borrow_hash_table_bucket(events_ht->table, LTTNG_EVENT_HT_SIZE, desc->event_name);
        lttng_hlist_for_each_entry(event_priv, head, hlist_node) {
-               if (event_priv->desc == desc &&
-                               event_priv->user_token == base_enabler->user_token)
+               if (lttng_event_enabler_desc_match_event(base_enabler, desc, event_priv->pub))
                        found = true;
        }
        if (found)
@@ -956,8 +953,7 @@ static int create_matching_event_notifiers(
                 */
                head = utils_borrow_hash_table_bucket(events_ht->table, LTTNG_EVENT_HT_SIZE, desc->event_name);
                lttng_hlist_for_each_entry(event_priv, head, hlist_node) {
-                       if (event_priv->desc == desc
-                               && event_priv->user_token == syscall_event_notifier_enabler->parent.user_token)
+                       if (lttng_event_enabler_desc_match_event(&syscall_event_notifier_enabler->parent, desc, event_priv->pub))
                                found = 1;
                }
                if (found)
This page took 0.023511 seconds and 4 git commands to generate.