Add thread-naming support for OpenBSD

OpenBSD has pthread_set_name_np; FreeBSD appears to have both
this call and pthread_setname_np (the latter call is used in preference).

* configure.ac: Detect pthread_set_name_np.
* sys/systhread.c:
Include <pthread_np.h> and call pthread_set_name_np if available.
This commit is contained in:
Timo Myyrä 2020-06-28 10:27:21 +02:00 committed by Mattias Engdegård
parent 5ce5cf6438
commit e4028d1515
2 changed files with 10 additions and 1 deletions

View file

@ -4187,7 +4187,8 @@ pthread_sigmask strsignal setitimer timer_getoverrun \
sendto recvfrom getsockname getifaddrs freeifaddrs \
gai_strerror sync \
getpwent endpwent getgrent endgrent \
cfmakeraw cfsetspeed __executable_start log2 pthread_setname_np)
cfmakeraw cfsetspeed __executable_start log2 pthread_setname_np \
pthread_set_name_np)
LIBS=$OLD_LIBS
if test "$ac_cv_func_pthread_setname_np" = "yes"; then

View file

@ -26,6 +26,10 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
#include "nsterm.h"
#endif
#ifdef HAVE_PTHREAD_SET_NAME_NP
#include <pthread_np.h>
#endif
#ifndef THREADS_ENABLED
void
@ -221,6 +225,10 @@ sys_thread_set_name (const char *name)
# else
pthread_setname_np (pthread_self (), p_name);
# endif
#elif HAVE_PTHREAD_SET_NAME_NP
/* The name will automatically be truncated if it exceeds a
system-specific length. */
pthread_set_name_np (pthread_self (), name);
#endif
}