diff options
Diffstat (limited to 'libc/sysdeps/linux/common/poll.c')
-rw-r--r-- | libc/sysdeps/linux/common/poll.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/common/poll.c b/libc/sysdeps/linux/common/poll.c index cf3db35eb..9896ef858 100644 --- a/libc/sysdeps/linux/common/poll.c +++ b/libc/sysdeps/linux/common/poll.c @@ -17,6 +17,14 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ +#ifdef __NR_poll + +#include "syscalls.h" +#include <sys/poll.h> +_syscall3(int, poll, struct pollfd *, fds, + unsigned long int, nfds, int, timeout); +#else + #include <alloca.h> #include <sys/poll.h> #include <sys/types.h> @@ -26,6 +34,8 @@ #include <sys/param.h> #include <unistd.h> +/* uClinux 2.0 doesn't have poll, emulate it using select */ + /* Poll the file descriptors described by the NFDS structures starting at FDS. If TIMEOUT is nonzero and not -1, allow TIMEOUT milliseconds for an event to occur; if TIMEOUT is -1, block until an event occurs. @@ -190,3 +200,5 @@ int poll(struct pollfd *fds, nfds_t nfds, int timeout) return ready; } +#endif + |