20 #ifndef MPD_THREAD_NAME_HXX
21 #define MPD_THREAD_NAME_HXX
23 #if defined(HAVE_PTHREAD_SETNAME_NP) && !defined(__NetBSD__)
24 # define HAVE_THREAD_NAME
26 #elif defined(HAVE_PRCTL)
27 # include <sys/prctl.h>
29 # define HAVE_THREAD_NAME
33 #ifdef HAVE_THREAD_NAME
40 #if defined(HAVE_PTHREAD_SETNAME_NP) && !defined(__NetBSD__)
46 pthread_setname_np(name);
48 pthread_setname_np(pthread_self(), name);
50 #elif defined(HAVE_PRCTL) && defined(PR_SET_NAME)
51 prctl(PR_SET_NAME, (
unsigned long)name, 0, 0, 0);
57 template<
typename... Args>
61 #ifdef HAVE_THREAD_NAME
63 snprintf(buffer,
sizeof(buffer), fmt, args...);
static void FormatThreadName(const char *fmt, gcc_unused Args &&...args)
static void SetThreadName(const char *name)
const Partition const char * name