From 61d5be688526cb721de7d67943440ccbf06a391e Mon Sep 17 00:00:00 2001 From: "Kirill A. Korinsky" Date: Tue, 19 Nov 2024 20:42:10 +0100 Subject: [PATCH] Use pthread_set_name_np when it available --- bin/varnishd/cache/cache_main.c | 12 +++++++++--- configure.ac | 2 ++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/bin/varnishd/cache/cache_main.c b/bin/varnishd/cache/cache_main.c index f33aea55d0..fc3075740e 100644 --- a/bin/varnishd/cache/cache_main.c +++ b/bin/varnishd/cache/cache_main.c @@ -130,6 +130,7 @@ THR_GetWorker(void) static pthread_key_t name_key; +#ifdef HAVE_PTHREAD_SETNAME_NP static void thr_setname_generic(const char *name) { @@ -146,18 +147,23 @@ thr_setname_generic(const char *name) //lint --e{438} Last value assigned not used PTOK(pthread_setname_np(pthread_self(), name)); } +#endif void THR_SetName(const char *name) { PTOK(pthread_setspecific(name_key, name)); -#if defined(__APPLE__) +#if defined(HAVE_PTHREAD_SETNAME_NP) +# if defined(__APPLE__) (void)pthread_setname_np(name); -#elif defined(__NetBSD__) +# elif defined(__NetBSD__) (void)pthread_setname_np(pthread_self(), "%s", (char *)(uintptr_t)name); -#else +# else thr_setname_generic(name); +# endif +#elif defined(HAVE_PTHREAD_SET_NAME_NP) + (void)pthread_set_name_np(pthread_self(), name); #endif } diff --git a/configure.ac b/configure.ac index 44e1ed879c..08d99197fe 100644 --- a/configure.ac +++ b/configure.ac @@ -227,6 +227,8 @@ AC_CHECK_FUNCS([fnmatch], [], [AC_MSG_ERROR([fnmatch(3) is required])]) save_LIBS="${LIBS}" LIBS="${PTHREAD_LIBS}" +AC_CHECK_FUNCS([pthread_setname_np]) +AC_CHECK_FUNCS([pthread_set_name_np]) AC_CHECK_FUNCS([pthread_mutex_isowned_np]) AC_CHECK_FUNCS([pthread_getattr_np]) LIBS="${save_LIBS}"