mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
configure.in: define SET_THREAD_NAME
* configure.in (SET_THREAD_NAME): define according to pthread_setname_np variations. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
1ebf8916b2
commit
6245e02cd3
2 changed files with 49 additions and 4 deletions
47
configure.in
47
configure.in
|
@ -2452,6 +2452,53 @@ if test x"$enable_pthread" = xyes; then
|
|||
else
|
||||
AC_CHECK_FUNCS(pthread_attr_init)
|
||||
fi
|
||||
if test "$ac_cv_func_pthread_setname_np" = yes; then
|
||||
AC_CACHE_CHECK([type of pthread_setname_np], [rb_cv_func_pthread_setname_np_type],
|
||||
[rb_cv_func_pthread_setname_np_type=
|
||||
if test "$rb_cv_func_pthread_setname_np_type" = ""; then
|
||||
AC_TRY_COMPILE([
|
||||
@%:@include <pthread.h>
|
||||
@%:@ifdef HAVE_PTHREAD_NP_H
|
||||
@%:@include <pthread_np.h>
|
||||
@%:@endif
|
||||
],
|
||||
[if (pthread_setname_np(pthread_self(), "")) return 1;],
|
||||
[rb_cv_func_pthread_setname_np_type=$rb_cv_func_pthread_setname_np_type,linux])
|
||||
fi
|
||||
if test "$rb_cv_func_pthread_setname_np_type" = ""; then
|
||||
AC_TRY_COMPILE([
|
||||
@%:@include <pthread.h>
|
||||
@%:@ifdef HAVE_PTHREAD_NP_H
|
||||
@%:@include <pthread_np.h>
|
||||
@%:@endif
|
||||
],
|
||||
[if (pthread_setname_np(pthread_self(), "", NULL)) return 1;],
|
||||
[rb_cv_func_pthread_setname_np_type=$rb_cv_func_pthread_setname_np_type,bsd])
|
||||
fi
|
||||
if test "$rb_cv_func_pthread_setname_np_type" = ""; then
|
||||
AC_TRY_COMPILE([
|
||||
@%:@include <pthread.h>
|
||||
@%:@ifdef HAVE_PTHREAD_NP_H
|
||||
@%:@include <pthread_np.h>
|
||||
@%:@endif
|
||||
],
|
||||
[if (pthread_setname_np("")) return 1;],
|
||||
[rb_cv_func_pthread_setname_np_type=$rb_cv_func_pthread_setname_np_type,darwin])
|
||||
fi
|
||||
rb_cv_func_pthread_setname_np_type=${rb_cv_func_pthread_setname_np_type@%:@,}
|
||||
]
|
||||
)
|
||||
AS_CASE(["$rb_cv_func_pthread_setname_np_type"],
|
||||
[linux],
|
||||
[AC_DEFINE_UNQUOTED(SET_THREAD_NAME(name), pthread_setname_np(pthread_self(), name))],
|
||||
[bsd],
|
||||
[AC_DEFINE_UNQUOTED(SET_THREAD_NAME(name), pthread_setname_np(pthread_self(), name, NULL))],
|
||||
[darwin],
|
||||
[AC_DEFINE_UNQUOTED(SET_THREAD_NAME(name), pthread_setname_np(name))],
|
||||
[*],
|
||||
[AC_DEFINE_UNQUOTED(SET_THREAD_NAME(name), (void)0)],
|
||||
)
|
||||
fi
|
||||
fi
|
||||
if test x"$ac_cv_header_ucontext_h" = xyes; then
|
||||
if test x"$rb_with_pthread" = xyes; then
|
||||
|
|
|
@ -1422,11 +1422,9 @@ timer_thread_sleep(rb_global_vm_lock_t* unused)
|
|||
#endif /* USE_SLEEPY_TIMER_THREAD */
|
||||
|
||||
#if defined(__linux__) && defined(PR_SET_NAME)
|
||||
# undef SET_THREAD_NAME
|
||||
# define SET_THREAD_NAME(name) prctl(PR_SET_NAME, name)
|
||||
#elif defined(HAVE_PTHREAD_SETNAME_NP)
|
||||
/* pthread_setname_np() on Darwin does not have target thread argument */
|
||||
# define SET_THREAD_NAME(name) pthread_setname_np(name)
|
||||
#else
|
||||
#elif !defined(SET_THREAD_NAME)
|
||||
# define SET_THREAD_NAME(name) (void)0
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in a new issue