X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-consumerd%2Flttng-consumerd.c;h=87ffb05dd5c78af8a70472900f985f5fd9dd3f1f;hp=0d34feeb342904ddc599c84fbc7c7359ade16872;hb=c8fea79c745d42ea8143b7020ae11b4fc2da0d8a;hpb=6a0caa9baf6913eacea486ac84f14ee65c62108b diff --git a/src/bin/lttng-consumerd/lttng-consumerd.c b/src/bin/lttng-consumerd/lttng-consumerd.c index 0d34feeb3..87ffb05dd 100644 --- a/src/bin/lttng-consumerd/lttng-consumerd.c +++ b/src/bin/lttng-consumerd/lttng-consumerd.c @@ -16,7 +16,6 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#define _GNU_SOURCE #define _LGPL_SOURCE #include #include @@ -38,14 +37,13 @@ #include #include #include -#include #include #include #include #include -#include -#include +#include +#include #include #include #include @@ -422,6 +420,10 @@ int main(int argc, char **argv) set_ulimit(); } + if (run_as_create_worker(argv[0]) < 0) { + goto exit_init_data; + } + /* create the consumer instance with and assign the callbacks */ ctx = lttng_consumer_create(opt_type, lttng_consumer_read_subbuffer, NULL, lttng_consumer_on_recv_stream, NULL); @@ -638,13 +640,14 @@ exit_init_data: if (health_consumerd) { health_app_destroy(health_consumerd); } -exit_health_consumerd_cleanup: + /* Ensure all prior call_rcu are done. */ + rcu_barrier(); -exit_options: + run_as_destroy_worker(); +exit_health_consumerd_cleanup: +exit_options: exit_set_signal_handler: - /* Ensure all prior call_rcu are done. */ - rcu_barrier(); if (!retval) { exit(EXIT_SUCCESS);