The documentation repeatedly states that "libusb is thread safe", without clarifying what exactly is meant by that.
Is calling libusb_handle_events with the same parameter from multiple threads thread safe? Based on the documentation, I can guess: probably yes (although not certainly).
Is calling libusb_fill_bulk_transfer with the same parameters from multiple threads thread safe? Based on my experience and common sense, I would guess: probably no (although I can think of an implementation where it is).
Other functions may have various degrees of uncertainty about thread safety.
The claim of thread safety should be applied to individual functions, and the conditions for thread-safety should be clearly specified.
The documentation repeatedly states that "libusb is thread safe", without clarifying what exactly is meant by that.
Is calling
libusb_handle_eventswith the same parameter from multiple threads thread safe? Based on the documentation, I can guess: probably yes (although not certainly).Is calling
libusb_fill_bulk_transferwith the same parameters from multiple threads thread safe? Based on my experience and common sense, I would guess: probably no (although I can think of an implementation where it is).Other functions may have various degrees of uncertainty about thread safety.
The claim of thread safety should be applied to individual functions, and the conditions for thread-safety should be clearly specified.