aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2015-01-06 12:04:02 +0100
committerMax Kellermann <max@duempel.org>2015-01-06 12:04:30 +0100
commitb9ed850b98ff793b43482cc501505f873335bdb1 (patch)
tree95eb07e81862c1419ced927497638ba88c9cb409
parent11cea17496c190969c758153034c94622211dce9 (diff)
downloadmpd-b9ed850b98ff793b43482cc501505f873335bdb1.tar.gz
mpd-b9ed850b98ff793b43482cc501505f873335bdb1.tar.xz
mpd-b9ed850b98ff793b43482cc501505f873335bdb1.zip
thread/Name: enable FormatThreadName() with prctl()
Add macro HAVE_THREAD_NAME which is set when any method to set the thread name is available. Use that macro in FormatThreadName() instead of just checking for HAVE_PTHREAD_SETNAME_NP.
-rw-r--r--src/thread/Name.hxx6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/thread/Name.hxx b/src/thread/Name.hxx
index 0edcc0242..872702af2 100644
--- a/src/thread/Name.hxx
+++ b/src/thread/Name.hxx
@@ -21,10 +21,14 @@
#define MPD_THREAD_NAME_HXX
#ifdef HAVE_PTHREAD_SETNAME_NP
+# define HAVE_THREAD_NAME
# include <pthread.h>
# include <stdio.h>
#elif defined(HAVE_PRCTL)
# include <sys/prctl.h>
+# ifdef PR_SET_NAME
+# define HAVE_THREAD_NAME
+# endif
#endif
static inline void
@@ -47,7 +51,7 @@ template<typename... Args>
static inline void
FormatThreadName(const char *fmt, gcc_unused Args&&... args)
{
-#ifdef HAVE_PTHREAD_SETNAME_NP
+#ifdef HAVE_THREAD_NAME
char buffer[16];
snprintf(buffer, sizeof(buffer), fmt, args...);
SetThreadName(buffer);