patch-2.1.130 linux/fs/select.c
Next file: linux/include/asm-alpha/pci.h
Previous file: linux/fs/proc/array.c
Back to the patch index
Back to the overall index
- Lines: 23
- Date:
Sun Nov 22 10:08:50 1998
- Orig file:
v2.1.129/linux/fs/select.c
- Orig date:
Thu Nov 19 09:56:29 1998
diff -u --recursive --new-file v2.1.129/linux/fs/select.c linux/fs/select.c
@@ -202,6 +202,9 @@
* Update: ERESTARTSYS breaks at least the xview clock binary, so
* I'm trying ERESTARTNOHAND which restart only when you want to.
*/
+#define MAX_SELECT_SECONDS \
+ ((unsigned long) (MAX_SCHEDULE_TIMEOUT / HZ)-1)
+
asmlinkage int
sys_select(int n, fd_set *inp, fd_set *outp, fd_set *exp, struct timeval *tvp)
{
@@ -218,8 +221,10 @@
|| (ret = __get_user(usec, &tvp->tv_usec)))
goto out_nofds;
- timeout = ROUND_UP(usec, 1000000/HZ);
- timeout += sec * (unsigned long) HZ;
+ if ((unsigned long) sec < MAX_SELECT_SECONDS) {
+ timeout = ROUND_UP(usec, 1000000/HZ);
+ timeout += sec * (unsigned long) HZ;
+ }
}
ret = -ENOMEM;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov