[patch] sys_epoll_wait() timeout saga ...

Davide Libenzi
2005-09-23T18:10:50Z

[-- Attachment #1: Type: TEXT/PLAIN, Size: 249 bytes --]

The sys_epoll_wait() function was not handling correctly negative timeouts
(besides -1), and like sys_poll(), was comparing millisec to secs in
testing the upper timeout limit.

Signed-off-by: Davide Libenzi <davidel@xmailserver.org>

- Davide

[-- Attachment #2: Type: TEXT/PLAIN, Size: 475 bytes --]

--- a/fs/eventpoll.c 2005-09-23 10:56:57.000000000 -0700
+++ b/fs/eventpoll.c 2005-09-23 11:00:06.000000000 -0700
@@ -1507,7 +1507,7 @@
* and the overflow condition. The passed timeout is in milliseconds,
* that why (t * HZ) / 1000.
*/
- jtimeout = timeout == -1 || timeout > (MAX_SCHEDULE_TIMEOUT - 1000) / HZ ?
+ jtimeout = timeout < 0 || (timeout / 1000) >= (MAX_SCHEDULE_TIMEOUT / HZ) ?
MAX_SCHEDULE_TIMEOUT: (timeout * HZ + 999) / 1000;