From: Gunnar Beutner Date: Sun, 8 Sep 2013 11:13:37 +0000 (+0200) Subject: Build fix: Check if pthread_setname_np() is available. X-Git-Tag: v0.0.3~592 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=161c933edc74480f72e6044a14957044877fd172;p=icinga2 Build fix: Check if pthread_setname_np() is available. --- diff --git a/configure.ac b/configure.ac index 26c39a9b9..f5d683070 100644 --- a/configure.ac +++ b/configure.ac @@ -52,6 +52,9 @@ AD_INIT_ASCIIDOC([icinga], [docs]) AM_MISSING_PROG(HELP2MAN, help2man, $missing_dir) +CFLAGS="$CFLAGS -D_GNU_SOURCE -pthread" +CXXFLAGS="$CXXFLAGS -D_GNU_SOURCE -pthread" + AC_PROG_INSTALL AC_PROG_LEX AC_PROG_YACC @@ -71,7 +74,7 @@ AC_CHECK_LIB(m, floor) AC_CHECK_LIB(socket, getsockname) AC_CHECK_LIB(ws2_32, getsockname) AC_CHECK_LIB(shlwapi, PathRemoveFileSpecA) -AC_CHECK_FUNCS([backtrace_symbols execvpe pipe2]) +AC_CHECK_FUNCS([backtrace_symbols execvpe pipe2 pthread_set_name_np pthread_setname_np]) CFLAGS="$CFLAGS -Wall -Wextra" CXXFLAGS="$CXXFLAGS -Wall -Wextra" diff --git a/lib/base/utility.cpp b/lib/base/utility.cpp index 4ceb16327..98511f919 100644 --- a/lib/base/utility.cpp +++ b/lib/base/utility.cpp @@ -525,14 +525,18 @@ void Utility::SetThreadName(const String& name, bool os) WindowsSetThreadName(name.CStr()); #endif /* _WIN32 */ -#ifdef __APPLE__ - pthread_setname_np(name.CStr()); -#endif /* __APPLE__ */ +#ifdef HAVE_PTHREAD_SET_NAME_NP + pthread_set_name_np(pthread_self(), name.CStr()); +#endif /* HAVE_PTHREAD_SET_NAME_NP */ -#ifdef __linux__ +#ifdef HAVE_PTHREAD_SETNAME_NP +# ifdef __APPLE__ + pthread_setname_np(name.CStr()); +# else /* __APPLE__ */ String tname = name.SubStr(0, 15); pthread_setname_np(pthread_self(), tname.CStr()); -#endif /* __linux__ */ +# endif /* __APPLE__ */ +#endif /* HAVE_PTHREAD_SETNAME_NP */ } String Utility::GetThreadName(void)