diff options
author | Pete Batard <pete@akeo.ie> | 2012-08-12 22:37:02 +0100 |
---|---|---|
committer | Pete Batard <pete@akeo.ie> | 2012-08-12 22:37:02 +0100 |
commit | de56675c99f8f7b0b13a08dfe6a076bfdff928d0 (patch) | |
tree | bc8890623ec857321d2c3091ab1ec79cd974838d | |
parent | 2d7d3beccccb87a6f705a5c31b6aca0a07d2f494 (diff) | |
download | libusb-de56675c99f8f7b0b13a08dfe6a076bfdff928d0.tar.gz |
Core: Improve instrumentation of timerfd_settime failures
* Report errno as well as itimerspec data
* Also reuse the timeout variable set to &transfer->timeout
-rw-r--r-- | libusb/io.c | 5 | ||||
-rw-r--r-- | libusb/version_nano.h | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/libusb/io.c b/libusb/io.c index e6d4132..902be15 100644 --- a/libusb/io.c +++ b/libusb/io.c @@ -1199,12 +1199,13 @@ out: /* if this transfer has the lowest timeout of all active transfers, * rearm the timerfd with this transfer's timeout */ const struct itimerspec it = { {0, 0}, - { transfer->timeout.tv_sec, transfer->timeout.tv_usec * 1000 } }; + { timeout->tv_sec, timeout->tv_usec * 1000 } }; usbi_dbg("arm timerfd for timeout in %dms (first in line)", USBI_TRANSFER_TO_LIBUSB_TRANSFER(transfer)->timeout); r = timerfd_settime(ctx->timerfd, TFD_TIMER_ABSTIME, &it, NULL); if (r < 0) { - usbi_warn(ctx, "failed to arm first timerfd (error %d)", r); + usbi_warn(ctx, "failed to arm first timerfd (errno %d, it_value = %d:%d)", + errno, it.it_value.tv_sec, it.it_value.tv_nsec); r = LIBUSB_ERROR_OTHER; } } diff --git a/libusb/version_nano.h b/libusb/version_nano.h index c52db03..5362c25 100644 --- a/libusb/version_nano.h +++ b/libusb/version_nano.h @@ -1 +1 @@ -#define LIBUSB_NANO 10546 +#define LIBUSB_NANO 10547 |