Fix: miscellaneous memory handling fixes
[lttng-tools.git] / src / bin / lttng-consumerd / health-consumerd.c
index 413df9acfb92eff3ad4e3566708c7709edd6fe24..d1478e54de9268c778efe13a85bf7a8c843c1b9f 100644 (file)
@@ -233,6 +233,10 @@ void *thread_manage_health(void *data)
                goto error;
        }
 
+       /* Perform prior memory accesses before decrementing ready */
+       cmm_smp_mb__before_uatomic_dec();
+       uatomic_dec(&lttng_consumer_ready);
+
        while (1) {
                DBG("Health check ready");
 
@@ -299,7 +303,7 @@ restart:
 
                assert(msg.cmd == HEALTH_CMD_CHECK);
 
-               reply.ret_code = 0;
+               memset(&reply, 0, sizeof(reply));
                for (i = 0; i < NR_HEALTH_CONSUMERD_TYPES; i++) {
                        /*
                         * health_check_state return 0 if thread is in
@@ -310,7 +314,7 @@ restart:
                        }
                }
 
-               DBG2("Health check return value %" PRIx64, reply.ret_code);
+               DBG("Health check return value %" PRIx64, reply.ret_code);
 
                ret = send_unix_sock(new_sock, (void *) &reply, sizeof(reply));
                if (ret < 0) {
This page took 0.024493 seconds and 4 git commands to generate.