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:21 +0000 (12:46 -0500)
commit7a7128e0ad5de4e9c7b245dae38cc9b2f65339c9
treed5a5c4976776c03718e5979fe041cd2df8e9f914
parent8240b2e21a7ce1653d5e45b01c4709c86c3fb636
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.026094 seconds and 4 git commands to generate.