summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPete Batard <pete@akeo.ie>2012-08-12 22:37:02 +0100
committerPete Batard <pete@akeo.ie>2012-08-12 22:37:02 +0100
commitde56675c99f8f7b0b13a08dfe6a076bfdff928d0 (patch)
treebc8890623ec857321d2c3091ab1ec79cd974838d
parent2d7d3beccccb87a6f705a5c31b6aca0a07d2f494 (diff)
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.c5
-rw-r--r--libusb/version_nano.h2
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