Fix: initialize RCU callbacks with mixed LGPL/non-LGPL objects
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 25 May 2016 21:19:35 +0000 (17:19 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 25 May 2016 21:23:44 +0000 (17:23 -0400)
commit8f0d1c78f5c8a236b52dc545e5a51fdc741ae7d2
tree2f891a19316f7df9823334c93fbd56537284f51c
parent32855a09dc8925f578624cab645a33ecb139389c
Fix: initialize RCU callbacks with mixed LGPL/non-LGPL objects

Linking both _LGPL_SOURCE and non-_LGPL_SOURCE objects into the same
module may result in having the RCU callbacks left to NULL, which
prevents tracing for tracepoints and/or probes which sit in the non-LGPL
compile unit.

This happens if the contructor of the LGPL compile unit is executed
first, thus incrementing the __tracepoint_registered counter, which will
prevent later execution of that same constructor in the non-LGPL compile
unit to initialize the RCU callbacks in __tracepoint__init_urcu_sym().

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
include/lttng/tracepoint.h
This page took 0.024848 seconds and 5 git commands to generate.