Darwin: Set a name for the background thread on Mac OS X 10.6 and later
authorSean McBride <sean@rogue-research.com>
Fri, 14 Oct 2011 18:40:29 +0000 (14:40 -0400)
committerPeter Stuge <peter@stuge.se>
Fri, 9 Dec 2011 06:26:58 +0000 (07:26 +0100)
The call to pthread_setname_np() makes it easy to identify the
background thread in the Xcode debugger and in crash reports.

libusb/os/darwin_usb.c

index 0af4e3c..b5952f4 100644 (file)
@@ -311,6 +311,12 @@ static void *event_thread_main (void *arg0) {
   struct libusb_context *ctx = (struct libusb_context *)arg0;
   CFRunLoopRef runloop;
 
+  /* Set this thread's name, so it can be seen in the debugger
+     and crash reports. */
+#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060
+  pthread_setname_np ("org.libusb.device-detach");
+#endif
+
   /* Tell the Objective-C garbage collector about this thread.
      This is required because, unlike NSThreads, pthreads are
      not automatically registered. Although we don't use