X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-relayd%2Fmain.c;h=9a68b2b2d940fc2860fbbde22c0ebc20cb89ff59;hb=55d097957f5bb8138959ad2202a40d85d49f029e;hp=dc41caad031dade163e0353c008c5371edbec7b3;hpb=424150266e9afc978cca8d00f1d70c31f534e656;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: