X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-consumerd%2Flttng-consumerd.c;h=59397594b914c2c99533ff408d77d9c824c08034;hb=24bc0841bdd3fb38b76a9244d21f28000d653fcf;hp=edf1f152f44a5d229fee090fd5b34c5d1146413b;hpb=331744e34f56a5aec69b05d356d6901e67926acc;p=lttng-tools.git diff --git a/src/bin/lttng-consumerd/lttng-consumerd.c b/src/bin/lttng-consumerd/lttng-consumerd.c index edf1f152f..59397594b 100644 --- a/src/bin/lttng-consumerd/lttng-consumerd.c +++ b/src/bin/lttng-consumerd/lttng-consumerd.c @@ -367,19 +367,16 @@ int main(int argc, char **argv) lttng_consumer_set_error_sock(ctx, ret); /* - * For UST consumer, we block RT signals used for periodical metadata flush - * in main and create a dedicated thread to handle these signals. + * Block RT signals used for UST periodical metadata flush and the live + * timer in main, and create a dedicated thread to handle these signals. */ - switch (opt_type) { - case LTTNG_CONSUMER32_UST: - case LTTNG_CONSUMER64_UST: - consumer_signal_init(); - break; - default: - break; - } + consumer_signal_init(); + ctx->type = opt_type; + /* Initialize communication library */ + lttcomm_init(); + /* Create thread to manage channels */ ret = pthread_create(&channel_thread, NULL, consumer_thread_channel_poll, (void *) ctx); @@ -412,25 +409,21 @@ int main(int argc, char **argv) goto sessiond_error; } - switch (opt_type) { - case LTTNG_CONSUMER32_UST: - case LTTNG_CONSUMER64_UST: - /* Create the thread to manage the metadata periodic timers */ - ret = pthread_create(&metadata_timer_thread, NULL, - consumer_timer_metadata_thread, (void *) ctx); - if (ret != 0) { - perror("pthread_create"); - goto metadata_timer_error; - } + /* + * Create the thread to manage the UST metadata periodic timer and + * live timer. + */ + ret = pthread_create(&metadata_timer_thread, NULL, + consumer_timer_thread, (void *) ctx); + if (ret != 0) { + perror("pthread_create"); + goto metadata_timer_error; + } - ret = pthread_detach(metadata_timer_thread); - if (ret) { - errno = ret; - perror("pthread_detach"); - } - break; - default: - break; + ret = pthread_detach(metadata_timer_thread); + if (ret) { + errno = ret; + perror("pthread_detach"); } metadata_timer_error: @@ -469,7 +462,9 @@ metadata_error: error: ret = EXIT_FAILURE; - lttng_consumer_send_error(ctx, LTTCOMM_CONSUMERD_EXIT_FAILURE); + if (ctx) { + lttng_consumer_send_error(ctx, LTTCOMM_CONSUMERD_EXIT_FAILURE); + } end: lttng_consumer_destroy(ctx);