threads_posix: Improve usbi_get_tid() for various platforms

Add support for real thread IDs on macOS 10.6 and later using the new
pthread_threadid_np() function.

Add support for thread IDs on Haiku, NetBSD and Solaris.

Provide a fallback value other than -1 when direct support is not
available. This should suffice as a unique identifier since pthread_t,
while opaque, is still distinct amongst active threads.

Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
5 files changed
tree: 1e5fbc312cff509037a75c81a24bea5708394df5
  1. .private/
  2. android/
  3. doc/
  4. examples/
  5. libusb/
  6. msvc/
  7. tests/
  8. Xcode/
  9. .gitattributes
  10. .gitignore
  11. .travis.yml
  12. appveyor.yml
  13. appveyor_build.sh
  14. AUTHORS
  15. autogen.sh
  16. bootstrap.sh
  17. Brewfile
  18. ChangeLog
  19. configure.ac
  20. COPYING
  21. INSTALL_WIN.txt
  22. libusb-1.0.pc.in
  23. Makefile.am
  24. NEWS
  25. PORTING
  26. README.git
  27. README.md
  28. TODO
  29. travis-autogen.sh
README.md

libusb

Build Status Build Status Coverity Scan Build Status

libusb is a library for USB device access from Linux, macOS, Windows, OpenBSD/NetBSD, Haiku and Solaris userspace. It is written in C (Haiku backend in C++) and licensed under the GNU Lesser General Public License version 2.1 or, at your option, any later version (see COPYING).

libusb is abstracted internally in such a way that it can hopefully be ported to other operating systems. Please see the PORTING file for more information.

libusb homepage: http://libusb.info/

Developers will wish to consult the API documentation: http://api.libusb.info

Use the mailing list for questions, comments, etc: http://mailing-list.libusb.info

(Please use the mailing list rather than mailing developers directly)