Fix: sessiond fails to launch on --without-ust configuration
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 9 May 2018 01:26:15 +0000 (21:26 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 9 May 2018 21:28:43 +0000 (17:28 -0400)
commit5d815d51329be6b1bb54342d41d4890fe7025a59
treec1a9dc619e11391a315b1d29fe7c5bd48650b880
parent2df44f1e14d94e6506192635d7aff0e87a3462f9
Fix: sessiond fails to launch on --without-ust configuration

The sessiond will never signal that it is ready (in daemonize or
background modes) if it was built without lttng-ust. The fix in
7eac7803 made the main thread wait for the agent thread to be
ready before signalling that the session daemon is ready.

When agent tracing is not possible due to the absence of lttng-ust,
a stub function is used to launch the agent thread. This stub
must call sessiond_notify_ready() in order to unblock the main
thread.

Note that it would be _incorrect_ to not wait for the agent
thread to be launched as users expect all tracing features to
be available as soon as 'lttng-sessiond --daemonize/--background'
returns.

Not waiting for the thread to be ready caused very rare failures
of the agent tracing tests on the CI, especially on ARM and
PowerPC targets.

Reported-by: Francis Deslauriers <francis.deslauriers@efficios.com>
Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/bin/lttng-sessiond/agent-thread.h
This page took 0.02602 seconds and 5 git commands to generate.