Commit 2a0c1804 authored by Ilya Konstantinov's avatar Ilya Konstantinov Committed by Allison Karlitskaya

gthread: add thread name support on Mac OS

https://bugzilla.gnome.org/show_bug.cgi?id=741807
parent 1cf7f5a2
......@@ -2240,6 +2240,16 @@ AS_IF([ test x"$have_threads" = xposix], [
AC_DEFINE(HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE_NP,1,
[Have function pthread_cond_timedwait_relative_np])],
[AC_MSG_RESULT(no)])
dnl Sets thread names on OS X 10.6, iOS 3.2 (and higher)
AC_MSG_CHECKING(for pthread_setname_np(const char*))
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[#include <pthread.h>],
[pthread_setname_np("example")])],
[AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID,1,
[Have function pthread_setname_np(const char*)])],
[AC_MSG_RESULT(no)])
CPPFLAGS="$glib_save_CPPFLAGS"
])
......
......@@ -1225,10 +1225,10 @@ g_system_thread_exit (void)
void
g_system_thread_set_name (const gchar *name)
{
#ifdef HAVE_SYS_PRCTL_H
#ifdef PR_SET_NAME
prctl (PR_SET_NAME, name, 0, 0, 0, 0);
#endif
#if defined(HAVE_SYS_PRCTL_H) && defined(PR_SET_NAME)
prctl (PR_SET_NAME, name, 0, 0, 0, 0); /* on Linux */
#elif defined(HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID)
pthread_setname_np(name); /* on OS X and iOS */
#endif
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment