Fix: use the poll wait ret value when iterating on fd(s)
[lttng-tools.git] / src / bin / lttng-relayd / main.c
index 204207d21822bba38e9feb41fe7f64eadfd4ca96..41afccabdfa33b7e045b38a57a825d4d6246ab4b 100644 (file)
@@ -514,11 +514,6 @@ void *relay_thread_listener(void *data)
        while (1) {
                DBG("Listener accepting connections");
 
-               /* Zeroed the events structure */
-               lttng_poll_reset(&events);
-
-               nb_fd = LTTNG_POLL_GETNB(&events);
-
 restart:
                ret = lttng_poll_wait(&events, -1);
                if (ret < 0) {
@@ -531,6 +526,8 @@ restart:
                        goto error;
                }
 
+               nb_fd = ret;
+
                DBG("Relay new connection received");
                for (i = 0; i < nb_fd; i++) {
                        /* Fetch once the poll data */
@@ -1877,11 +1874,6 @@ void *relay_thread_worker(void *data)
        }
 
        while (1) {
-               /* Zeroed the events structure */
-               lttng_poll_reset(&events);
-
-               nb_fd = LTTNG_POLL_GETNB(&events);
-
                /* Infinite blocking call, waiting for transmission */
        restart:
                DBG3("Relayd worker thread polling...");
@@ -1896,6 +1888,8 @@ void *relay_thread_worker(void *data)
                        goto error;
                }
 
+               nb_fd = ret;
+
                for (i = 0; i < nb_fd; i++) {
                        /* Fetch once the poll data */
                        revents = LTTNG_POLL_GETEV(&events, i);
This page took 0.024774 seconds and 5 git commands to generate.