X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-relayd%2Fmain.c;h=9a68b2b2d940fc2860fbbde22c0ebc20cb89ff59;hb=50138f511c30d4d8fe2450c9a5e8fdf98e5d2862;hp=dc41caad031dade163e0353c008c5371edbec7b3;hpb=4ccd8c8fb76d95ecf81a599903e1ff94203e899f;p=lttng-tools.git diff --git a/src/bin/lttng-relayd/main.c b/src/bin/lttng-relayd/main.c index dc41caad0..9a68b2b2d 100644 --- a/src/bin/lttng-relayd/main.c +++ b/src/bin/lttng-relayd/main.c @@ -2530,30 +2530,33 @@ int main(int argc, char **argv) ret = live_start_threads(live_uri, relay_ctx, thread_quit_pipe); if (ret != 0) { ERR("Starting live viewer threads"); + goto exit_live; } -exit_listener: + live_stop_threads(); + +exit_live: ret = pthread_join(listener_thread, &status); if (ret != 0) { PERROR("pthread_join"); goto error; /* join error, exit without cleanup */ } -exit_worker: +exit_listener: ret = pthread_join(worker_thread, &status); if (ret != 0) { PERROR("pthread_join"); goto error; /* join error, exit without cleanup */ } -exit_dispatcher: +exit_worker: ret = pthread_join(dispatcher_thread, &status); if (ret != 0) { PERROR("pthread_join"); goto error; /* join error, exit without cleanup */ } - live_stop_threads(); +exit_dispatcher: lttng_ht_destroy(viewer_streams_ht); exit_relay_ctx_viewer_streams: