io: Always complete transfers regardless of timerfd errors
authorChris Dickens <christopher.a.dickens@gmail.com>
Fri, 4 Sep 2015 00:23:22 +0000 (17:23 -0700)
committerChris Dickens <christopher.a.dickens@gmail.com>
Fri, 4 Sep 2015 00:23:22 +0000 (17:23 -0700)
commitbf1635b3cb6cd8096f35fb1b0000d263522f191e
tree377cfa3e2ae9abf49a04415116c25251263f9abe
parent8f2d5bbd883c9e121a21ab46d239dcf621c8dd2b
io: Always complete transfers regardless of timerfd errors

This commit addresses two issues.

First, commit a886bb02 introduced an issue where transfer callbacks
would not be called if the transfer that completed was the first
in line and the timerfd needed to be armed for another transfer.

Second, failure to set the timerfd should not prevent the transfer
from completing. The behavior has always been such, but it will
leave clients waiting for their transfer callbacks to be called.
This change will let the transfer callback complete and will return
the error through the event handling path.

Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
libusb/io.c
libusb/version_nano.h