diff options
-rw-r--r-- | configure.ac | 18 | ||||
-rw-r--r-- | src/vty/cpu_sched_vty.c | 4 |
2 files changed, 22 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 89615fdf..5bd686ae 100644 --- a/configure.ac +++ b/configure.ac @@ -78,6 +78,24 @@ AC_SUBST(BACKTRACE_LIB) # check for pthread (PTHREAD_CFLAGS, PTHREAD_LIBS) AX_PTHREAD +AC_MSG_CHECKING(for pthread_getname_np(pthread_t, char*, size_t)) +saved_CFLAGS="$CFLAGS" +saved_LIBS="$LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +LIBS="$LIBS $PTHREAD_LIBS" +AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [#define _GNU_SOURCE + #include <pthread.h>], + [pthread_getname_np(pthread_self(),"example",0)])], + [AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_PTHREAD_GETNAME_NP,1, + [Have function pthread_setname_np(const char*)])], + [AC_MSG_RESULT(no)]) +CFLAGS="$saved_CFLAGS" +LIBS="$saved_LIBS" + + # check for old glibc < 2.17 to get clock_gettime AC_SEARCH_LIBS([clock_gettime], [rt posix4], [AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Define if clock_gettime is available]) diff --git a/src/vty/cpu_sched_vty.c b/src/vty/cpu_sched_vty.c index 0b4b2492..dbb3cd59 100644 --- a/src/vty/cpu_sched_vty.c +++ b/src/vty/cpu_sched_vty.c @@ -25,6 +25,8 @@ #define _GNU_SOURCE +#include "../../config.h" + #include <string.h> #include <stdlib.h> #include <errno.h> @@ -637,8 +639,10 @@ int osmo_cpu_sched_vty_apply_localthread(void) return 0; } +#ifdef HAVE_PTHREAD_GETNAME_NP if (pthread_getname_np(pthread_self(), name, sizeof(name)) == 0) has_name = true; +#endif /* Get latest matching mask for the thread */ pthread_mutex_lock(&sched_vty_opts->cpu_affinity_li_mutex); |