Fix: stop lttng-relayd threads on health thread error
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Thu, 20 Oct 2016 19:45:42 +0000 (15:45 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 26 Oct 2016 13:16:15 +0000 (09:16 -0400)
The lttng-relayd health thread may fail to initialize for
a variety of reason (notably, a too long unix domain socket
address), which will cause it to never notify that it is
ready.

In such circumstances, the lttng-relayd command, in background or
daemonize mode, will never return as the daemon's "readyness"
will never be signaled.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/bin/lttng-relayd/health-relayd.c

index be0b0b12400897b5f35a3633c653db3a2ca18add..f1354c195934f258f43a6c6ae49c4cf03d46b6da 100644 (file)
@@ -411,8 +411,9 @@ restart:
                new_sock = -1;
        }
 
-exit:
 error:
+       lttng_relay_stop_threads();
+exit:
        if (err) {
                ERR("Health error occurred in %s", __func__);
        }
This page took 0.025377 seconds and 4 git commands to generate.