X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Ftelemetry%2Ftelemetry_legacy.c;h=8aba44d689b788f00117ed32e38c3034b2c35006;hb=67cdaea00cd6ec72dc05386b80525157a9cf2018;hp=5e9af37db1c9899d60ae0c95b0ff6d0d65d556dc;hpb=99a2dd955fba6e4cc23b77d590a033650ced9c45;p=dpdk.git diff --git a/lib/telemetry/telemetry_legacy.c b/lib/telemetry/telemetry_legacy.c index 5e9af37db1..8aba44d689 100644 --- a/lib/telemetry/telemetry_legacy.c +++ b/lib/telemetry/telemetry_legacy.c @@ -83,6 +83,7 @@ register_client(const char *cmd __rte_unused, const char *params, pthread_t th; char data[BUF_SIZE]; int fd; + int rc; struct sockaddr_un addrs; #endif /* !RTE_EXEC_ENV_WINDOWS */ @@ -112,8 +113,15 @@ register_client(const char *cmd __rte_unused, const char *params, close(fd); return -1; } - pthread_create(&th, NULL, &legacy_client_handler, - (void *)(uintptr_t)fd); + rc = pthread_create(&th, NULL, &legacy_client_handler, + (void *)(uintptr_t)fd); + if (rc != 0) { + fprintf(stderr, "Failed to create legacy client thread: %s\n", + strerror(rc)); + close(fd); + return -1; + } + pthread_detach(th); #endif /* !RTE_EXEC_ENV_WINDOWS */ return 0; }