Fix: change health poll update to entry/exit calls
[lttng-tools.git] / src / bin / lttng-sessiond / main.c
index 034621e9da466ca1b4c49d0a7e4875f515e7fdaf..461394e44e36fa9613d36318d93ad396447e3965 100644 (file)
@@ -734,9 +734,9 @@ static void *thread_manage_kernel(void *data)
 
                /* Poll infinite value of time */
        restart:
-               health_poll_update();
+               health_poll_entry();
                ret = lttng_poll_wait(&events, -1);
-               health_poll_update();
+               health_poll_exit();
                if (ret < 0) {
                        /*
                         * Restart interrupted system call.
@@ -855,24 +855,7 @@ static void *thread_manage_consumer(void *data)
 
        health_register(HEALTH_TYPE_CONSUMER);
 
-       /*
-        * Since the consumer thread can be spawned at any moment in time, we init
-        * the health to a poll status (1, which is a valid health over time).
-        * When the thread starts, we update here the health to a "code" path being
-        * an even value so this thread, when reaching a poll wait, does not
-        * trigger an error with an even value.
-        *
-        * Here is the use case we avoid.
-        *
-        * +1: the first poll update during initialization (main())
-        * +2 * x: multiple code update once in this thread.
-        * +1: poll wait in this thread (being a good health state).
-        * == even number which after the wait period shows as a bad health.
-        *
-        * In a nutshell, the following poll update to the health state brings back
-        * the state to an even value meaning a code path.
-        */
-       health_poll_update();
+       health_code_update();
 
        /*
         * Pass 2 as size here for the thread quit pipe and kconsumerd_err_sock.
@@ -897,14 +880,14 @@ static void *thread_manage_consumer(void *data)
 
        /* Inifinite blocking call, waiting for transmission */
 restart:
-       health_poll_update();
+       health_poll_entry();
 
        if (testpoint(thread_manage_consumer)) {
                goto error;
        }
 
        ret = lttng_poll_wait(&events, -1);
-       health_poll_update();
+       health_poll_exit();
        if (ret < 0) {
                /*
                 * Restart interrupted system call.
@@ -996,9 +979,9 @@ restart:
 
        /* Inifinite blocking call, waiting for transmission */
 restart_poll:
-       health_poll_update();
+       health_poll_entry();
        ret = lttng_poll_wait(&events, -1);
-       health_poll_update();
+       health_poll_exit();
        if (ret < 0) {
                /*
                 * Restart interrupted system call.
@@ -1138,9 +1121,9 @@ static void *thread_manage_apps(void *data)
 
                /* Inifinite blocking call, waiting for transmission */
        restart:
-               health_poll_update();
+               health_poll_entry();
                ret = lttng_poll_wait(&events, -1);
-               health_poll_update();
+               health_poll_exit();
                if (ret < 0) {
                        /*
                         * Restart interrupted system call.
@@ -1418,9 +1401,9 @@ static void *thread_registration_apps(void *data)
 
                /* Inifinite blocking call, waiting for transmission */
        restart:
-               health_poll_update();
+               health_poll_entry();
                ret = lttng_poll_wait(&events, -1);
-               health_poll_update();
+               health_poll_exit();
                if (ret < 0) {
                        /*
                         * Restart interrupted system call.
@@ -3196,9 +3179,9 @@ static void *thread_manage_clients(void *data)
 
                /* Inifinite blocking call, waiting for transmission */
        restart:
-               health_poll_update();
+               health_poll_entry();
                ret = lttng_poll_wait(&events, -1);
-               health_poll_update();
+               health_poll_exit();
                if (ret < 0) {
                        /*
                         * Restart interrupted system call.
This page took 0.026794 seconds and 4 git commands to generate.