summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/kern/sys_generic.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-10-10 13:27:01 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-10-31 13:18:46 +0100
commitc9db0f5ecb838319759f93d856f757190f4c60d6 (patch)
treee5364c9d276da1b1d19ac7f0d098a5a30b586d4d /freebsd/sys/kern/sys_generic.c
parentAvoid references to kern_descrip.c (diff)
downloadrtems-libbsd-c9db0f5ecb838319759f93d856f757190f4c60d6.tar.bz2
Use RTEMS API for file handling
Diffstat (limited to 'freebsd/sys/kern/sys_generic.c')
-rw-r--r--freebsd/sys/kern/sys_generic.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/freebsd/sys/kern/sys_generic.c b/freebsd/sys/kern/sys_generic.c
index 9a7a67da..f666cb15 100644
--- a/freebsd/sys/kern/sys_generic.c
+++ b/freebsd/sys/kern/sys_generic.c
@@ -851,7 +851,9 @@ int
kern_select(struct thread *td, int nd, fd_set *fd_in, fd_set *fd_ou,
fd_set *fd_ex, struct timeval *tvp, int abi_nfdbits)
{
+#ifndef __rtems__
struct filedesc *fdp;
+#endif /* __rtems__ */
/*
* The magic 2048 here is chosen to be just enough for FD_SETSIZE
* infds with the new FD_SETSIZE of 1024, and more than enough for
@@ -870,9 +872,14 @@ kern_select(struct thread *td, int nd, fd_set *fd_in, fd_set *fd_ou,
#endif /* __rtems__ */
if (nd < 0)
return (EINVAL);
+#ifndef __rtems__
fdp = td->td_proc->p_fd;
if (nd > fdp->fd_lastfile + 1)
nd = fdp->fd_lastfile + 1;
+#else /* __rtems__ */
+ if (nd > rtems_libio_number_iops)
+ nd = rtems_libio_number_iops;
+#endif /* __rtems__ */
/*
* Allocate just enough bits for the non-null fd_sets. Use the