Remove duplicate provider name checks
[lttng-ust.git] / include / lttng / tracepoint.h
index 6e3faad6e26c2e3a6220007e8c8afde9ee40996b..39f2c4db752342f14c5bd8206174093595ebacec 100644 (file)
@@ -218,11 +218,9 @@ struct lttng_ust_tracepoint_dlopen {
        int (*tracepoint_register_lib)(struct lttng_ust_tracepoint * const *tracepoints_start,
                int tracepoints_count);
        int (*tracepoint_unregister_lib)(struct lttng_ust_tracepoint * const *tracepoints_start);
-#ifndef _LGPL_SOURCE
        void (*rcu_read_lock_sym_bp)(void);
        void (*rcu_read_unlock_sym_bp)(void);
        void *(*rcu_dereference_sym_bp)(void *p);
-#endif
 };
 
 extern struct lttng_ust_tracepoint_dlopen tracepoint_dlopen;
@@ -243,8 +241,6 @@ static inline void tracepoint_disable_destructors(void)
        __tracepoints__disable_destructors = 1;
 }
 
-#if defined(TRACEPOINT_DEFINE) || defined(TRACEPOINT_CREATE_PROBES)
-
 /*
  * These weak symbols, the constructor, and destructor take care of
  * registering only _one_ instance of the tracepoints per shared-ojbect
@@ -311,8 +307,12 @@ __tracepoints__init(void);
 static void
 __tracepoints__init(void)
 {
-       if (__tracepoint_registered++)
+       if (__tracepoint_registered++) {
+               if (!tracepoint_dlopen_ptr->liblttngust_handle)
+                       return;
+               __tracepoint__init_urcu_sym();
                return;
+       }
 
        if (!tracepoint_dlopen_ptr)
                tracepoint_dlopen_ptr = &tracepoint_dlopen;
@@ -347,8 +347,6 @@ __tracepoints__destroy(void)
        }
 }
 
-#endif
-
 #ifdef TRACEPOINT_DEFINE
 
 /*
This page took 0.023754 seconds and 4 git commands to generate.