diff options
author | James <> | 2013-03-17 12:16:37 +0000 |
---|---|---|
committer | James <> | 2013-03-17 12:16:37 +0000 |
commit | 27b76ab0671089c47506615a796a261e993896a7 (patch) | |
tree | 61213d67e7fa87b20356b23798558e2c4212c42f /package/libs/libusb/patches/.svn/text-base/001-timerfd.patch.svn-base | |
download | trunk-36060-27b76ab0671089c47506615a796a261e993896a7.tar.gz trunk-36060-27b76ab0671089c47506615a796a261e993896a7.tar.bz2 trunk-36060-27b76ab0671089c47506615a796a261e993896a7.zip |
Diffstat (limited to 'package/libs/libusb/patches/.svn/text-base/001-timerfd.patch.svn-base')
-rw-r--r-- | package/libs/libusb/patches/.svn/text-base/001-timerfd.patch.svn-base | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/package/libs/libusb/patches/.svn/text-base/001-timerfd.patch.svn-base b/package/libs/libusb/patches/.svn/text-base/001-timerfd.patch.svn-base new file mode 100644 index 0000000..de48a7f --- /dev/null +++ b/package/libs/libusb/patches/.svn/text-base/001-timerfd.patch.svn-base @@ -0,0 +1,33 @@ +commit cadb77d99e314e42c3eb02d016e9d90136ec6959 +Author: Alexander Gordeev <lasaine@lvk.cs.msu.su> +Date: Thu Jan 27 06:39:16 2011 +0300 + + fix timerfd initialization + + sys/timerfd.h defines TFD_NONBLOCK as 0x800 but in kernel TFD_NONBLOCK + is an alias for O_NONBLOCK which is defined in arch-specific fcntl.h. + While it's still 0x800 for most of archs but for mips it's 0x80. So + timerfd_create(..., TFD_NONBLOCK) returns -EINVAL because of that. Fix + this by using O_NONBLOCK instead. + + Signed-off-by: Alexander Gordeev <lasaine@lvk.cs.msu.su> + +--- a/libusb/io.c ++++ b/libusb/io.c +@@ -20,6 +20,7 @@ + + #include <config.h> + #include <errno.h> ++#include <fcntl.h> + #include <signal.h> + #include <stdint.h> + #include <stdlib.h> +@@ -1072,7 +1073,7 @@ int usbi_io_init(struct libusb_context * + + #ifdef USBI_TIMERFD_AVAILABLE + ctx->timerfd = timerfd_create(usbi_backend->get_timerfd_clockid(), +- TFD_NONBLOCK); ++ O_NONBLOCK); + if (ctx->timerfd >= 0) { + usbi_dbg("using timerfd for timeouts"); + r = usbi_add_pollfd(ctx, ctx->timerfd, POLLIN); |