From 43198d20896df6a785165650914d0b73fc9450a8 Mon Sep 17 00:00:00 2001 From: Christian Biesinger Date: Fri, 24 Jan 2020 14:58:29 +0100 Subject: [PATCH] Support the NetBSD version of pthread_setname_np On NetBSD, pthread_setname_np takes a printf-style format string plus one argument: https://netbsd.gw.com/cgi-bin/man-cgi?pthread_setname_np++NetBSD-current This patch makes thread-pool.c handle that. gdbsupport/ChangeLog: 2020-01-24 Christian Biesinger * thread-pool.c (set_thread_name): Add an overload for the NetBSD version of pthread_setname_np. Change-Id: I61e664a813eaa7f52b6811b1a43e08ac3082d8ef --- gdbsupport/ChangeLog | 5 +++++ gdbsupport/thread-pool.c | 12 ++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/gdbsupport/ChangeLog b/gdbsupport/ChangeLog index 3583e5bd347..6ea2f2c2530 100644 --- a/gdbsupport/ChangeLog +++ b/gdbsupport/ChangeLog @@ -1,3 +1,8 @@ +2020-01-24 Christian Biesinger + + * thread-pool.c (set_thread_name): Add an overload for the NetBSD + version of pthread_setname_np. + 2020-01-17 Pedro Alves * Makefile.am: Append CXX_DIALECT to CXX. diff --git a/gdbsupport/thread-pool.c b/gdbsupport/thread-pool.c index fc83ff765f6..be9ca22682a 100644 --- a/gdbsupport/thread-pool.c +++ b/gdbsupport/thread-pool.c @@ -40,8 +40,16 @@ #include /* Handle platform discrepancies in pthread_setname_np: macOS uses a - single-argument form, while Linux uses a two-argument form. This - wrapper handles the difference. */ + single-argument form, while Linux uses a two-argument form. NetBSD + takes a printf-style format and an argument. This wrapper handles the + difference. */ + +ATTRIBUTE_UNUSED static void +set_thread_name (int (*set_name) (pthread_t, const char *, void *), + const char *name) +{ + set_name (pthread_self (), "%s", const_cast (name)); +} ATTRIBUTE_UNUSED static void set_thread_name (int (*set_name) (pthread_t, const char *), const char *name) -- 2.30.2