mirror of
https://github.com/masscollaborationlabs/emacs.git
synced 2025-07-10 14:10:51 +00:00
Cater for 3-argument version of pthread_setname_np
Fixes Bug#39363. * configure.ac: Add check for 3-argument version of pthread_setname_np. * src/systhread.c (sys_thread_set_name) [HAVE_PTHREAD_SETNAME_NP_3ARG]: Call pthread_setname_np with 3 arguments.
This commit is contained in:
parent
f27187f963
commit
831508422e
2 changed files with 20 additions and 3 deletions
15
configure.ac
15
configure.ac
|
@ -4197,6 +4197,21 @@ if test "$ac_cv_func_pthread_setname_np" = "yes"; then
|
||||||
AC_DEFINE(
|
AC_DEFINE(
|
||||||
HAVE_PTHREAD_SETNAME_NP_1ARG, 1,
|
HAVE_PTHREAD_SETNAME_NP_1ARG, 1,
|
||||||
[Define to 1 if pthread_setname_np takes a single argument.])
|
[Define to 1 if pthread_setname_np takes a single argument.])
|
||||||
|
else
|
||||||
|
AC_CACHE_CHECK(
|
||||||
|
[whether pthread_setname_np takes three arguments],
|
||||||
|
[emacs_cv_pthread_setname_np_3arg],
|
||||||
|
[AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM(
|
||||||
|
[[#include <pthread.h>]],
|
||||||
|
[[pthread_setname_np (0, "%s", "a");]])],
|
||||||
|
[emacs_cv_pthread_setname_np_3arg=yes],
|
||||||
|
[emacs_cv_pthread_setname_np_3arg=no])])
|
||||||
|
if test "$emacs_cv_pthread_setname_np_3arg" = "yes"; then
|
||||||
|
AC_DEFINE(
|
||||||
|
HAVE_PTHREAD_SETNAME_NP_3ARG, 1,
|
||||||
|
[Define to 1 if pthread_setname_np takes three arguments.])
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -214,11 +214,13 @@ sys_thread_set_name (const char *name)
|
||||||
char p_name[TASK_COMM_LEN];
|
char p_name[TASK_COMM_LEN];
|
||||||
strncpy (p_name, name, TASK_COMM_LEN - 1);
|
strncpy (p_name, name, TASK_COMM_LEN - 1);
|
||||||
p_name[TASK_COMM_LEN - 1] = '\0';
|
p_name[TASK_COMM_LEN - 1] = '\0';
|
||||||
#ifdef HAVE_PTHREAD_SETNAME_NP_1ARG
|
# ifdef HAVE_PTHREAD_SETNAME_NP_1ARG
|
||||||
pthread_setname_np (p_name);
|
pthread_setname_np (p_name);
|
||||||
#else
|
# elif defined HAVE_PTHREAD_SETNAME_NP_3ARG
|
||||||
|
pthread_setname_np (pthread_self (), "%s", p_name);
|
||||||
|
# else
|
||||||
pthread_setname_np (pthread_self (), p_name);
|
pthread_setname_np (pthread_self (), p_name);
|
||||||
#endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue