Lines Matching refs:fds
15 * of fds to overcome nfds < 16390 descriptors limit (Tigran Aivazian).
413 #define FDS_IN(fds, n) (fds->in + n)
414 #define FDS_OUT(fds, n) (fds->out + n)
415 #define FDS_EX(fds, n) (fds->ex + n)
417 #define BITS(fds, n) (*FDS_IN(fds, n)|*FDS_OUT(fds, n)|*FDS_EX(fds, n))
419 static int max_select_fd(unsigned long n, fd_set_bits *fds)
433 set &= BITS(fds, n);
443 set = BITS(fds, n);
478 static int do_select(int n, fd_set_bits *fds, struct timespec64 *end_time)
489 retval = max_select_fd(n, fds);
511 inp = fds->in; outp = fds->out; exp = fds->ex;
512 rinp = fds->res_in; routp = fds->res_out; rexp = fds->res_ex;
627 fd_set_bits fds;
665 fds.in = bits;
666 fds.out = bits + size;
667 fds.ex = bits + 2*size;
668 fds.res_in = bits + 3*size;
669 fds.res_out = bits + 4*size;
670 fds.res_ex = bits + 5*size;
672 if ((ret = get_fd_set(n, inp, fds.in)) ||
673 (ret = get_fd_set(n, outp, fds.out)) ||
674 (ret = get_fd_set(n, exp, fds.ex)))
676 zero_fd_set(n, fds.res_in);
677 zero_fd_set(n, fds.res_out);
678 zero_fd_set(n, fds.res_ex);
680 ret = do_select(n, &fds, end_time);
691 if (set_fd_set(n, inp, fds.res_in) ||
692 set_fd_set(n, outp, fds.res_out) ||
693 set_fd_set(n, exp, fds.res_ex))
1021 struct pollfd *fds = walk->entries;
1024 for (j = walk->len; j; fds++, ufds++, j--)
1025 unsafe_put_user(fds->revents, &ufds->revents, Efault);
1197 fd_set_bits fds;
1227 fds.in = (unsigned long *) bits;
1228 fds.out = (unsigned long *) (bits + size);
1229 fds.ex = (unsigned long *) (bits + 2*size);
1230 fds.res_in = (unsigned long *) (bits + 3*size);
1231 fds.res_out = (unsigned long *) (bits + 4*size);
1232 fds.res_ex = (unsigned long *) (bits + 5*size);
1234 if ((ret = compat_get_fd_set(n, inp, fds.in)) ||
1235 (ret = compat_get_fd_set(n, outp, fds.out)) ||
1236 (ret = compat_get_fd_set(n, exp, fds.ex)))
1238 zero_fd_set(n, fds.res_in);
1239 zero_fd_set(n, fds.res_out);
1240 zero_fd_set(n, fds.res_ex);
1242 ret = do_select(n, &fds, end_time);
1253 if (compat_set_fd_set(n, inp, fds.res_in) ||
1254 compat_set_fd_set(n, outp, fds.res_out) ||
1255 compat_set_fd_set(n, exp, fds.res_ex))