From 87d772a7d708fec12f48cd8adc0dedff6e1025da Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 26 Aug 2024 10:15:20 +0200 Subject: Adding upstream version 1.47.0. Signed-off-by: Daniel Baumann --- src/libnetdata/threads/threads.c | 12 ++++++++---- src/libnetdata/threads/threads.h | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) (limited to 'src/libnetdata/threads') diff --git a/src/libnetdata/threads/threads.c b/src/libnetdata/threads/threads.c index 0e12d173e..36c63f4e0 100644 --- a/src/libnetdata/threads/threads.c +++ b/src/libnetdata/threads/threads.c @@ -418,12 +418,14 @@ bool nd_thread_signaled_to_cancel(void) { // ---------------------------------------------------------------------------- // nd_thread_join -void nd_thread_join(ND_THREAD *nti) { - if(!nti) return; +int nd_thread_join(ND_THREAD *nti) { + if(!nti) + return ESRCH; int ret = pthread_join(nti->thread, NULL); - if(ret != 0) - nd_log(NDLS_DAEMON, NDLP_WARNING, "cannot join thread. pthread_join() failed with code %d.", ret); + if(ret != 0) { + nd_log(NDLS_DAEMON, NDLP_WARNING, "cannot join thread. pthread_join() failed with code %d. (tag=%s)", ret, nti->tag); + } else { nd_thread_status_set(nti, NETDATA_THREAD_STATUS_JOINED); @@ -434,4 +436,6 @@ void nd_thread_join(ND_THREAD *nti) { freez(nti); } + + return ret; } diff --git a/src/libnetdata/threads/threads.h b/src/libnetdata/threads/threads.h index a7204e2a2..0b54a5fc0 100644 --- a/src/libnetdata/threads/threads.h +++ b/src/libnetdata/threads/threads.h @@ -70,7 +70,7 @@ void netdata_threads_init_after_fork(size_t stacksize); void netdata_threads_init_for_external_plugins(size_t stacksize); ND_THREAD *nd_thread_create(const char *tag, NETDATA_THREAD_OPTIONS options, void *(*start_routine) (void *), void *arg); -void nd_thread_join(ND_THREAD * nti); +int nd_thread_join(ND_THREAD * nti); ND_THREAD *nd_thread_self(void); bool nd_thread_is_me(ND_THREAD *nti); -- cgit v1.2.3