Fix build on macOS
authorTom Tromey <tromey@adacore.com>
Tue, 10 Dec 2019 21:16:19 +0000 (14:16 -0700)
committerTom Tromey <tromey@adacore.com>
Wed, 11 Dec 2019 15:02:20 +0000 (08:02 -0700)
commit2e744276988acd52b967d2505c42ef170147b5f9
tree21a6f8e0aed95ed05375201c3b0d20717108b415
parentaac4760f70a4ba503f01a967b33cc218dfc37144
Fix build on macOS

PR build/25268 points out that the build fails on macOS, because on
macOS the "pthread_setname_np" function takes a single argument.

This patch fixes the problem, by introducing a new adapter function
that handles both styles of pthread_setname_np.

This change also meant moving the pthread_setname_np call to the
thread function, because macOS only permits setting the name of the
current thread.  This means that there can be a brief window when gdb
will see the wrong name; but I think this is a minor concern.

Tested by rebuilding on x86-64 Fedora 30, and on macOS High Sierra.
On Linux I also debugged gdb to ensure that the thread names are still
set correctly.

gdb/ChangeLog
2019-12-11  Tom Tromey  <tromey@adacore.com>

PR build/25268:
* gdbsupport/thread-pool.c (set_thread_name): New function.
(thread_pool::set_thread_count): Don't call pthread_setname_np.
(thread_pool::thread_function): Call set_thread_name.

Change-Id: Id7bf28d99ca27a893a9fc87ebb90b15a9c2a9cb4
gdb/ChangeLog
gdb/gdbsupport/thread-pool.c