X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=liblttng-ust%2Flttng-context-provider.c;h=50f73c6253cf340d90485540ce154dfdafd24d72;hb=fb31eb73d8a4a6d9784ed5c335b7fa3b9684108c;hp=c580891a1ac93471f544fce2ddb66c31ffa622b2;hpb=3fbec7dc3645facd9e809cf161ba3435a377ce56;p=lttng-ust.git diff --git a/liblttng-ust/lttng-context-provider.c b/liblttng-ust/lttng-context-provider.c index c580891a..50f73c62 100644 --- a/liblttng-ust/lttng-context-provider.c +++ b/liblttng-ust/lttng-context-provider.c @@ -21,8 +21,11 @@ */ #define _LGPL_SOURCE +#include +#include #include #include + #include #include "lttng-tracer-core.h" #include "jhash.h" @@ -68,10 +71,12 @@ int lttng_ust_context_provider_register(struct lttng_ust_context_provider *provi uint32_t hash; int ret = 0; + 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()) { @@ -95,6 +100,8 @@ end: void lttng_ust_context_provider_unregister(struct lttng_ust_context_provider *provider) { + lttng_ust_fixup_tls(); + if (ust_lock()) goto end; lttng_ust_context_set_session_provider(provider->name,