Add flush buffers command
[lttng-ust.git] / include / ust / tracepoint.h
index e7c6b198bc464bde94990623df48912b4af51a68..9feb9d51d55a4bc74aee85d281966db126c78286 100644 (file)
 #include <urcu-bp.h>
 #include <urcu/list.h>
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 struct tracepoint_probe {
        void *func;
        void *data;
@@ -61,7 +65,7 @@ struct tracepoint {
                        do {                                            \
                                __tp_it_func = __tp_it_probe_ptr->func; \
                                __tp_cb_data = __tp_it_probe_ptr->data; \
-                               ((void(*)(proto))__tp_it_func)(args);   \
+                               URCU_FORCE_CAST(void(*)(proto), __tp_it_func)(args); \
                        } while ((++__tp_it_probe_ptr)->func);          \
                }                                                       \
                rcu_read_unlock();                                      \
@@ -95,7 +99,6 @@ struct tracepoint {
        {                                                               \
                return __tracepoint_probe_register(#name, (void *)probe,\
                                                 data);                 \
-                                                                       \
        }                                                               \
        static inline int                                               \
        __unregister_trace_##name(void (*probe)(data_proto), void *data)\
@@ -413,4 +416,8 @@ static void __attribute__((destructor)) __tracepoints__destroy(void)
 
 #endif /* #ifndef TRACEPOINT_LOGLEVEL */
 
+#ifdef __cplusplus 
+}
+#endif
+
 #endif /* _UST_TRACEPOINT_H */
This page took 0.0252 seconds and 4 git commands to generate.