Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
ret = live_start_threads(live_uri, relay_ctx, thread_quit_pipe);
if (ret != 0) {
ERR("Starting live viewer threads");
ret = live_start_threads(live_uri, relay_ctx, thread_quit_pipe);
if (ret != 0) {
ERR("Starting live viewer threads");
+ live_stop_threads();
+
+exit_live:
ret = pthread_join(listener_thread, &status);
if (ret != 0) {
PERROR("pthread_join");
goto error; /* join error, exit without cleanup */
}
ret = pthread_join(listener_thread, &status);
if (ret != 0) {
PERROR("pthread_join");
goto error; /* join error, exit without cleanup */
}
ret = pthread_join(worker_thread, &status);
if (ret != 0) {
PERROR("pthread_join");
goto error; /* join error, exit without cleanup */
}
ret = pthread_join(worker_thread, &status);
if (ret != 0) {
PERROR("pthread_join");
goto error; /* join error, exit without cleanup */
}
ret = pthread_join(dispatcher_thread, &status);
if (ret != 0) {
PERROR("pthread_join");
goto error; /* join error, exit without cleanup */
}
ret = pthread_join(dispatcher_thread, &status);
if (ret != 0) {
PERROR("pthread_join");
goto error; /* join error, exit without cleanup */
}
lttng_ht_destroy(viewer_streams_ht);
exit_relay_ctx_viewer_streams:
lttng_ht_destroy(viewer_streams_ht);
exit_relay_ctx_viewer_streams: