Fix pthread_setname_np build error
authorTom Tromey <tromey@adacore.com>
Wed, 18 Dec 2019 18:45:51 +0000 (11:45 -0700)
committerTom Tromey <tromey@adacore.com>
Wed, 18 Dec 2019 18:50:13 +0000 (11:50 -0700)
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
gdb/gdbsupport/thread-pool.c

index 53885e13fc76b27f4a60d210dd2c16f9bcfa9368..8e38ada5ea06a93bb736362106b219bfefc1bb3a 100644 (file)
@@ -1,3 +1,9 @@
+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.
+
 2019-12-18  Simon Marchi  <simon.marchi@efficios.com>
 
        * c-lang.c (c_get_string, asm_language_defn): Remove space
index cd548956951109f83161f8a5fca9a8acae6e2cec..a8c5fb774d9459e61a587aa70b5f11210fd5011e 100644 (file)
@@ -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);
 }