diff options
author | Daniel Drake <dan@reactivated.net> | 2009-11-21 16:57:25 +0000 |
---|---|---|
committer | Daniel Drake <dan@reactivated.net> | 2009-11-21 16:58:31 +0000 |
commit | 0bd7ef5d8697973a026c36c15d6276177b4ec4ea (patch) | |
tree | b1753bb53304a1188e191b8e39f5252089178be4 | |
parent | 90d8fcab9018b8e6887a7e0592d1e5f692117234 (diff) | |
download | libusb-0bd7ef5d8697973a026c36c15d6276177b4ec4ea.tar.gz |
Refine timerfd header check (#18)
Require glibc-2.9 for the working timerfd support.
-rw-r--r-- | configure.ac | 10 | ||||
-rw-r--r-- | libusb/io.c | 2 |
2 files changed, 8 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac index 180c14d..8aedfba 100644 --- a/configure.ac +++ b/configure.ac @@ -53,15 +53,19 @@ AC_ARG_ENABLE([timerfd], [use_timerfd=$enableval], [use_timerfd='auto']) if test "x$use_timerfd" = "xyes" -a "x$timerfd_h" = "x0"; then - AC_MSG_ERROR([timerfd header not available; glibc 2.8+ required]) -error + AC_MSG_ERROR([timerfd header not available; glibc 2.9+ required]) +fi + +AC_CHECK_DECL([TFD_NONBLOCK], [tfd_hdr_ok=yes], [tfd_hdr_ok=no], [#include <sys/timerfd.h>]) +if test "x$use_timerfd" = "xyes" -a "x$tfd_hdr_ok" = "xno"; then + AC_MSG_ERROR([timerfd header not usable; glibc 2.9+ required]) fi AC_MSG_CHECKING([whether to use timerfd for timing]) if test "x$use_timerfd" = "xno"; then AC_MSG_RESULT([no (disabled by user)]) else - if test "x$timerfd_h" = "x1"; then + if test "x$timerfd_h" = "x1" -a "x$tfd_hdr_ok" = "xyes"; then AC_MSG_RESULT([yes]) AC_DEFINE(USBI_TIMERFD_AVAILABLE, [], [timerfd headers available]) else diff --git a/libusb/io.c b/libusb/io.c index 65c2cf4..f6a7e23 100644 --- a/libusb/io.c +++ b/libusb/io.c @@ -632,7 +632,7 @@ while (user has not requested application exit) { * - Darwin * - Linux, provided that the following version requirements are satisfied: * - Linux v2.6.27 or newer, compiled with timerfd support - * - glibc v2.8 or newer + * - glibc v2.9 or newer * - libusb v1.0.5 or newer * * Under these configurations, libusb_get_next_timeout() will \em always return |