diff options
author | Arjan van de Ven <arjan@linux.intel.com> | 2008-08-31 11:26:40 -0400 |
---|---|---|
committer | Arjan van de Ven <arjan@linux.intel.com> | 2008-09-06 00:35:03 -0400 |
commit | 8ff3e8e85fa6c312051134b3953e397feb639f51 (patch) | |
tree | 526886377ca92a62f030c25bc8f91f13a6f991eb /include/linux/poll.h | |
parent | be5dad20a55e054a35dac7f6f5f184dc72b379b4 (diff) |
select: switch select() and poll() over to hrtimers
With lots of help, input and cleanups from Thomas Gleixner
This patch switches select() and poll() over to hrtimers.
The core of the patch is replacing the "s64 timeout" with a
"struct timespec end_time" in all the plumbing.
But most of the diffstat comes from using the just introduced helpers:
poll_select_set_timeout
poll_select_copy_remaining
timespec_add_safe
which make manipulating the timespec easier and less error-prone.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/linux/poll.h')
-rw-r--r-- | include/linux/poll.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/include/linux/poll.h b/include/linux/poll.h index f65de5128a9e..badd98ab06f6 100644 --- a/include/linux/poll.h +++ b/include/linux/poll.h | |||
@@ -114,11 +114,11 @@ void zero_fd_set(unsigned long nr, unsigned long *fdset) | |||
114 | 114 | ||
115 | #define MAX_INT64_SECONDS (((s64)(~((u64)0)>>1)/HZ)-1) | 115 | #define MAX_INT64_SECONDS (((s64)(~((u64)0)>>1)/HZ)-1) |
116 | 116 | ||
117 | extern int do_select(int n, fd_set_bits *fds, s64 *timeout); | 117 | extern int do_select(int n, fd_set_bits *fds, struct timespec *end_time); |
118 | extern int do_sys_poll(struct pollfd __user * ufds, unsigned int nfds, | 118 | extern int do_sys_poll(struct pollfd __user * ufds, unsigned int nfds, |
119 | s64 *timeout); | 119 | struct timespec *end_time); |
120 | extern int core_sys_select(int n, fd_set __user *inp, fd_set __user *outp, | 120 | extern int core_sys_select(int n, fd_set __user *inp, fd_set __user *outp, |
121 | fd_set __user *exp, s64 *timeout); | 121 | fd_set __user *exp, struct timespec *end_time); |
122 | 122 | ||
123 | extern int poll_select_set_timeout(struct timespec *to, long sec, long nsec); | 123 | extern int poll_select_set_timeout(struct timespec *to, long sec, long nsec); |
124 | 124 | ||