Chris Dickens a886bb02c8 core: Add internal transfer state management
This patch adds some new flags to keep track of transfer state.
These flags are used to properly handle transfers that are on
the flying_transfers list for devices that are disconnected.

The motivation for this patch is to release the requirement of
holding the flying_transfers_lock for the duration of a call to
libusb_submit_transfer(). Holding this lock is the simplest and
safest way to submit a transfer, but it has performance impacts
as it serializes transfer submission for a given context.

With proper transfer state management, the library can handle a
device disconnect without needing to prevent multiple transfers
from being concurrently submitted.

Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
2015-03-01 00:08:23 -08:00
2014-12-16 21:57:42 +01:00
2014-06-13 20:31:35 +02:00
2013-06-20 15:24:08 +02:00
2014-09-25 21:42:16 +01:00
2014-05-30 14:48:28 +02:00
2014-09-25 21:42:16 +01:00
2007-12-02 22:54:59 +00:00
2007-12-02 22:54:59 +00:00

libusb
======

libusb is a library for USB device access from Linux, Mac OS X,
Windows and OpenBSD/NetBSD userspace.
It is written 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

- Pete Batard <pete@akeo.ie>
- Hans de Goede <hdegoede@redhat.com>
- Xiaofan Chen <xiaofanc@gmail.com>
- Ludovic Rousseau <ludovic.rousseau@gmail.com>
- Nathan Hjelm <hjelmn@users.sourceforge.net>
- Chris Dickens <christopher.a.dickens@gmail.com>
(Please use the mailing list rather than mailing developers directly)
S
Description
A cross-platform library to access USB devices
Readme 4 MiB
Languages
C 91.7%
C++ 3.1%
CMake 1.6%
Batchfile 1.1%
Makefile 1%
Other 1.5%