Fix: fix deadlock with dlopen() lttng-ust
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 1 Mar 2012 17:00:04 +0000 (12:00 -0500)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 1 Mar 2012 17:00:04 +0000 (12:00 -0500)
commit60c089cf52bf7ffdddbbbdd32278aeeb83bd5c97
tree2f7f85b17371a8fc60298b667d963f77254c7393
parenta2adb105d815cfbcf9bf8f870f2f72f79a319138
Fix: fix deadlock with dlopen() lttng-ust

Pre-"fault" the libuuid TLS outside of the ust lock to ensure that we
never deadlock with the linker mutex in libc. This mutex is held both
for TLS fixup of dlopen'd libs, and across execution of all
constructors. We therefore have a reverse use of this mutex wrt ust
lock, that we fix by forcing the TLS fixup to happen very early in the
lttng-ust constructor.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
liblttng-ust/ltt-events.c
liblttng-ust/ltt-tracer-core.h
liblttng-ust/lttng-ust-comm.c
This page took 0.026755 seconds and 4 git commands to generate.