Generalize `lttng_enabler_link_bytecode()` bytecode list
[lttng-ust.git] / liblttng-ust / lttng-context-provider.c
index 8e065abe3eb0c650b44fa6c507f26831591c119a..fe831366779a0332531fcfad63769742481549a0 100644 (file)
  */
 
 #define _LGPL_SOURCE
+#include <stddef.h>
+#include <stdint.h>
 #include <sys/types.h>
 #include <unistd.h>
+
 #include <lttng/ust-context-provider.h>
+
 #include "lttng-tracer-core.h"
 #include "jhash.h"
+#include "context-provider-internal.h"
 #include <helper.h>
 
 #define CONTEXT_PROVIDER_HT_BITS       12
@@ -71,9 +76,9 @@ int lttng_ust_context_provider_register(struct lttng_ust_context_provider *provi
        lttng_ust_fixup_tls();
 
        /* Provider name starts with "$app.". */
-       if (strncmp("$app.", provider->name, strlen("$app.") != 0))
+       if (strncmp("$app.", provider->name, strlen("$app.")) != 0)
                return -EINVAL;
-       /* Provider name cannot contain a column character. */
+       /* Provider name cannot contain a colon character. */
        if (strchr(provider->name, ':'))
                return -EINVAL;
        if (ust_lock()) {
@@ -87,9 +92,14 @@ int lttng_ust_context_provider_register(struct lttng_ust_context_provider *provi
        hash = jhash(provider->name, name_len, 0);
        head = &context_provider_ht.table[hash & (CONTEXT_PROVIDER_HT_SIZE - 1)];
        cds_hlist_add_head(&provider->node, head);
+
        lttng_ust_context_set_session_provider(provider->name,
                provider->get_size, provider->record,
                provider->get_value);
+
+       lttng_ust_context_set_event_notifier_group_provider(provider->name,
+               provider->get_size, provider->record,
+               provider->get_value);
 end:
        ust_unlock();
        return ret;
@@ -104,6 +114,11 @@ void lttng_ust_context_provider_unregister(struct lttng_ust_context_provider *pr
        lttng_ust_context_set_session_provider(provider->name,
                lttng_ust_dummy_get_size, lttng_ust_dummy_record,
                lttng_ust_dummy_get_value);
+
+       lttng_ust_context_set_event_notifier_group_provider(provider->name,
+               lttng_ust_dummy_get_size, lttng_ust_dummy_record,
+               lttng_ust_dummy_get_value);
+
        cds_hlist_del(&provider->node);
 end:
        ust_unlock();
This page took 0.024025 seconds and 4 git commands to generate.