[FYI] Fix pthread_setname_np build error
Tom Tromey
tromey@adacore.com
Wed Dec 18 18:48:00 GMT 2019
My earlier patch to fix the pthread_setname_np build error on macOS
was incorrect. While the macOS man page claims that
pthread_setname_np returns void, in <pthread.h> it is actually
declared returning "int". I knew this earlier, but must have made
some mistake when preparing the patch for submission (perhaps when
removing the templates?).
This patch re-fixes the bug. I'm also applying it to the 9.1 branch.
Tested by building on macOS High Sierra.
gdb/ChangeLog
2019-12-18 Tom Tromey <tromey@adacore.com>
PR build/25268:
* gdbsupport/thread-pool.c (set_thread_name): Expect "int" return
type on macOS. Add comment.
Change-Id: Ib09da6ac33958a0d843f65df2a528112356e7de6
---
gdb/ChangeLog | 6 ++++++
gdb/gdbsupport/thread-pool.c | 4 +++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/gdb/gdbsupport/thread-pool.c b/gdb/gdbsupport/thread-pool.c
index cd548956951..a8c5fb774d9 100644
--- a/gdb/gdbsupport/thread-pool.c
+++ b/gdb/gdbsupport/thread-pool.c
@@ -49,8 +49,10 @@ set_thread_name (int (*set_name) (pthread_t, const char *), const char *name)
set_name (pthread_self (), name);
}
+/* The macOS man page says that pthread_setname_np returns "void", but
+ the headers actually declare it returning "int". */
ATTRIBUTE_UNUSED static void
-set_thread_name (void (*set_name) (const char *), const char *name)
+set_thread_name (int (*set_name) (const char *), const char *name)
{
set_name (name);
}
--
2.21.0
More information about the Gdb-patches
mailing list