Transfer locking
authorDaniel Drake <dsd@gentoo.org>
Wed, 28 Oct 2009 09:28:22 +0000 (15:13 +0545)
committerDaniel Drake <dsd@gentoo.org>
Fri, 6 Nov 2009 21:45:37 +0000 (21:45 +0000)
commit69830057547396f893f0d7b3125a05d016313b10
treed82ac7414926f4439a3216c1f060156cb9a62c38
parent98f1b30d24359cb3185051b8df9ebb663cc10369
Transfer locking

At least on Linux, there were some possible races that could occur if
a transfer is cancelled from one thread while another thread is handling
an event for that transfer, or for if a transfer completes while it is
still being submitted from another thread, etc.

On the global level, transfers could be submitted and cancelled at the
same time.

Fix those issues with transfer-level locks.
libusb/io.c
libusb/libusbi.h
libusb/os/linux_usbfs.c