Fix: statedump hang/too early completion due to logic error
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 9 Jan 2013 17:40:55 +0000 (12:40 -0500)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 9 Jan 2013 17:46:15 +0000 (12:46 -0500)
commitc3cd3de91a64e9f786e11658b1d05440e496352f
treed3aea1d32438c917da34510b30747a91ee0b61f7
parent76b792cbd23db5a0d2856bdde006121f113ebba5
Fix: statedump hang/too early completion due to logic error

The previous "Fix: statedump hang due to incorrect wait/wakeup use" was
not actually fixing the real problem.

The issue is that we should pass the expected condition to wait_event()
rather than its contrary.

This bug has been sitting there for a while. I suspect that a recent
change in the Linux scheduler behavior for newly spawned worker threads
might have contributed to trigger the hang more reliably.

The effects of this bugs are:
- possible hang of the lttng-sessiond (within the kernel) at tracing
  start,
- the statedump end event is traced before all worker threads have
  actually completed, which can confuse LTTng viewer state systems.

Reported-by: Phil Wilshire <sysdcs@gmail.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
lttng-statedump-impl.c
This page took 0.024866 seconds and 4 git commands to generate.