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:36:32 +0000 (12:36 -0500)
commiteddd8d5d1a04887d1979417f1aca6c2f109bfe50
tree753d43233180885fc4440f567f6961756c121588
parent64493e4fa019e9bdfe0d9c6a4738c9552f250f35
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.

[fixed merge from dev branch]

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.024944 seconds and 4 git commands to generate.