Fix: get_wait_shm() ust mutex deadlock
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mon, 17 Sep 2012 16:01:14 +0000 (12:01 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mon, 17 Sep 2012 16:04:43 +0000 (12:04 -0400)
commitc0872615e30522e1245316d3892e64dc280345d5
tree14ad9105e84605ea0297b774f3cc0f4683cb30e3
parent944cf5d56a44930a3a462020f404c83d640b3267
Fix: get_wait_shm() ust mutex deadlock

The main issue is that get_wait_shm() bypass the fork() wrapper (with
lttng_ust_nest_count), which is responsible for holding the UST mutex
across fork(). Therefore, when exiting the context of the child process,
we execute the destructor, which try to grab the UST mutex, which might
be in pretty much any state.

Given that we don't want this process to try to register to
lttng-sessiond (because this is internal to lttng-ust), we might want to
let it skip the destructor execution. This would actually be the easiest
way out.

Reported-by: changz <zheng.chang@emc.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
liblttng-ust/lttng-ust-comm.c
This page took 0.026 seconds and 4 git commands to generate.