From 294f0b8eb279f9d0517bfa39decaf7ac4aaa3b5d Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Fri, 7 Feb 2020 11:18:46 +0300 Subject: Fix pthread_setname_np detection on Linux and snprintf usage warning (fix of commit ab91e4e84) Issue #300 (bdwgc). * configure.ac [$THREADS==posix]: Replace AC_TRY_LINK with AC_TRY_COMPILE to detect pthread_setname_np presence and kind. * pthread_support.c [PARALLEL_MARK && (HAVE_PTHREAD_SETNAME_NP_WITH_TID || HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID)] (set_marker_thread_name): Replace snprintf() with BCOPY() call and manual conversion of an integer (with 1-2 digits) to a string; remove undef name_buf. * win32_threads.c [PARALLEL_MARK && HAVE_PTHREAD_SETNAME_NP_WITH_TID] (set_marker_thread_name): Likewise. --- configure.ac | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index 050ad147..09c1f597 100644 --- a/configure.ac +++ b/configure.ac @@ -785,25 +785,25 @@ AS_IF([test "$THREADS" = posix], [AC_MSG_CHECKING(for pthread_setname_np) old_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $CFLAGS_EXTRA -Werror" - AC_TRY_LINK([#include ], - [pthread_setname_np("thread-name")], + AC_TRY_COMPILE([#include ], + [pthread_setname_np("thread-name")], [AC_MSG_RESULT([yes (w/o tid)]) AC_DEFINE([HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID], [1], [Define to use 'pthread_setname_np(const char*)' function.])], - [AC_TRY_LINK([#include ], - [pthread_setname_np(pthread_self(), "thread-name-%u", 0)], + [AC_TRY_COMPILE([#include ], + [pthread_setname_np(pthread_self(), "thread-name-%u", 0)], [AC_MSG_RESULT([yes (with tid and arg)]) AC_DEFINE([HAVE_PTHREAD_SETNAME_NP_WITH_TID_AND_ARG], [1], [Define to use 'pthread_setname_np(pthread_t, const char*, void *)' function.])], - [AC_TRY_LINK([ + [AC_TRY_COMPILE([ #ifdef __CYGWIN__ #define _GNU_SOURCE 1 #elif defined(__linux__) || defined(__GLIBC__) || defined(__GNU__) #define _GNU_SOURCE 1 #endif #include ], - [pthread_setname_np(pthread_self(), "thread-name")], + [pthread_setname_np(pthread_self(), "thread-name")], [AC_MSG_RESULT([yes (with tid)]) AC_DEFINE([HAVE_PTHREAD_SETNAME_NP_WITH_TID], [1], [Define to use 'pthread_setname_np(pthread_t, const char*)' -- cgit v1.2.1