[dpdk-dev] [PATCH v3 1/2] telemetry: fix missing check for thread creation
David Marchand
david.marchand at redhat.com
Thu Apr 15 16:55:46 CEST 2021
On Thu, Apr 15, 2021 at 1:50 PM Min Hu (Connor) <humin29 at huawei.com> wrote:
> diff --git a/lib/librte_telemetry/telemetry.c b/lib/librte_telemetry/telemetry.c
> index 7e08afd..e6a99f3 100644
> --- a/lib/librte_telemetry/telemetry.c
> +++ b/lib/librte_telemetry/telemetry.c
> @@ -350,6 +350,7 @@ socket_listener(void *socket)
> {
> while (1) {
> pthread_t th;
> + int rc;
> struct socket *s = (struct socket *)socket;
> int s_accepted = accept(s->sock, NULL, NULL);
> if (s_accepted < 0) {
> @@ -366,7 +367,12 @@ socket_listener(void *socket)
> __atomic_add_fetch(s->num_clients, 1,
> __ATOMIC_RELAXED);
> }
> - pthread_create(&th, NULL, s->fn, (void *)(uintptr_t)s_accepted);
> + rc = pthread_create(&th, NULL, s->fn, (void *)(uintptr_t)s_accepted);
> + if (rc != 0) {
> + TMTY_LOG(ERR, "Error with create client thread\n");
> + close(s_accepted);
> + return NULL;
> + }
Repeating my comment:
Either you use this rc variable (adding strerror(rc) in the log
message in TMTY_LOG()) or you remove the variable and simply test if
(pthread_create(...) != 0).
This comment applies to other changes in this patch.
And this applies to patch 2 too.
> pthread_detach(th);
> }
> return NULL;
Thanks.
--
David Marchand
More information about the dev
mailing list