patch-2.4.6 linux/fs/select.c
Next file: linux/fs/smbfs/ChangeLog
Previous file: linux/fs/reiserfs/super.c
Back to the patch index
Back to the overall index
- Lines: 22
- Date:
Wed Jun 27 17:10:55 2001
- Orig file:
v2.4.5/linux/fs/select.c
- Orig date:
Wed May 16 10:31:27 2001
diff -u --recursive --new-file v2.4.5/linux/fs/select.c linux/fs/select.c
@@ -260,7 +260,7 @@
fd_set_bits fds;
char *bits;
long timeout;
- int ret, size;
+ int ret, size, max_fdset;
timeout = MAX_SCHEDULE_TIMEOUT;
if (tvp) {
@@ -285,8 +285,10 @@
if (n < 0)
goto out_nofds;
- if (n > current->files->max_fdset)
- n = current->files->max_fdset;
+ /* max_fdset can increase, so grab it once to avoid race */
+ max_fdset = current->files->max_fdset;
+ if (n > max_fdset)
+ n = max_fdset;
/*
* We need 6 bitmaps (in/out/ex for both incoming and outgoing),
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)