From: Andrew Morton Cc: David Woodhouse Signed-off-by: Andrew Morton --- fs/select.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff -puN fs/select.c~add-pselect-ppoll-system-call-implementation-fix fs/select.c --- devel/fs/select.c~add-pselect-ppoll-system-call-implementation-fix 2006-01-13 03:24:53.000000000 -0800 +++ devel-akpm/fs/select.c 2006-01-13 03:30:27.000000000 -0800 @@ -390,7 +390,7 @@ asmlinkage long sys_select(int n, fd_set if ((u64)tv.tv_sec >= (u64)MAX_INT64_SECONDS) timeout = -1; /* infinite */ else { - timeout = ROUND_UP(tv.tv_sec, 1000000/HZ); + timeout = ROUND_UP(tv.tv_usec, USEC_PER_SEC/HZ); timeout += tv.tv_sec * HZ; } } @@ -441,7 +441,7 @@ asmlinkage long sys_pselect7(int n, fd_s if ((u64)ts.tv_sec >= (u64)MAX_INT64_SECONDS) timeout = -1; /* infinite */ else { - timeout = ROUND_UP(ts.tv_sec, 1000000000/HZ); + timeout = ROUND_UP(ts.tv_nsec, NSEC_PER_SEC/HZ); timeout += ts.tv_sec * HZ; } } @@ -723,7 +723,7 @@ asmlinkage long sys_ppoll(struct pollfd if ((u64)ts.tv_sec >= (u64)MAX_INT64_SECONDS) timeout = -1; /* infinite */ else { - timeout = ROUND_UP(ts.tv_sec, 1000000000/HZ); + timeout = ROUND_UP(ts.tv_nsec, NSEC_PER_SEC/HZ); timeout += ts.tv_sec * HZ; } } _