]> granicus.if.org Git - icinga2/commitdiff
Build fix: Check if pthread_setname_np() is available.
authorGunnar Beutner <gunnar.beutner@netways.de>
Sun, 8 Sep 2013 11:13:37 +0000 (13:13 +0200)
committerGunnar Beutner <gunnar.beutner@netways.de>
Sun, 8 Sep 2013 11:13:37 +0000 (13:13 +0200)
configure.ac
lib/base/utility.cpp

index 26c39a9b96b03bc26585960b333e59aa2bcc49f0..f5d6830700442c6ff9eefceaefd4c49271a2efb6 100644 (file)
@@ -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"
index 4ceb16327b402362fa2958c2e5afa701f88a066a..98511f9195c072850ada3ab1fd61a16351128774 100644 (file)
@@ -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)