telemetry: detach threads
authorStephen Hemminger <stephen@networkplumber.org>
Thu, 19 Aug 2021 02:38:19 +0000 (19:38 -0700)
committerThomas Monjalon <thomas@monjalon.net>
Fri, 1 Oct 2021 12:50:16 +0000 (14:50 +0200)
There are a number telemetry threads which are created and
there is nothing that does pthread_join() to wait for them.
Mark these threads as detached, so that the pthread library
can cleanup state when the thread exits.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Ciara Power <ciara.power@intel.com>
lib/telemetry/telemetry.c
lib/telemetry/telemetry_legacy.c

index 8304fbf..48f4c7b 100644 (file)
@@ -526,6 +526,7 @@ telemetry_legacy_init(void)
        pthread_setaffinity_np(t_old, sizeof(*thread_cpuset), thread_cpuset);
        set_thread_name(t_old, "telemetry-v1");
        TMTY_LOG(DEBUG, "Legacy telemetry socket initialized ok\n");
+       pthread_detach(t_old);
        return 0;
 }
 
@@ -564,6 +565,7 @@ telemetry_v2_init(void)
        }
        pthread_setaffinity_np(t_new, sizeof(*thread_cpuset), thread_cpuset);
        set_thread_name(t_new, "telemetry-v2");
+       pthread_detach(t_new);
        atexit(unlink_sockets);
 
        return 0;
index b7cd1bd..8aba44d 100644 (file)
@@ -121,6 +121,7 @@ register_client(const char *cmd __rte_unused, const char *params,
                close(fd);
                return -1;
        }
+       pthread_detach(th);
 #endif /* !RTE_EXEC_ENV_WINDOWS */
        return 0;
 }