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 19:11:16 +0000 (15:11 -0400)
commitd741ba7f3241479e38278de12ce69f4bdd8b825d
tree48ba80eeae1bd710968c8c4730ac4c1fe5ffff32
parent99a74705c016ef8f21cfa451ca3ffb95fa0f205e
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.026968 seconds and 4 git commands to generate.