Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
usb_libusb10.c: Keep track of dead transfers more correctly.
We failed to catch if the resubmission of a transfer failed in the transfer's isochronous callback. This is bad because this is a very likely failure mode if we accidentally unplug the Kinect - the last set of transfers complete successfully, but the device is no longer there when we resubmit them. It's okay for us to not know which particular transfers are dead, since libusb_cancel_transfer() will handle transfers that don't exist by returning LIBUSB_ERROR_NOT_FOUND if the transfer isn't pending. This is related to OpenKinect#229, but I'm not sure if this is sufficient to fix it. libusb on OSX doesn't always return what I expect it to. Signed-off-by: Drew Fisher <[email protected]>
- Loading branch information