diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-12-17 14:10:37 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-01-30 16:23:03 +0100 |
commit | e6d558f7ae6aff8a47b689eb290a8a77585359f6 (patch) | |
tree | b74c52e7fce9338efa0022e96a11e996e7abedff /dhcpcd | |
parent | DHCPCD(8): Add basic support (diff) | |
download | rtems-libbsd-e6d558f7ae6aff8a47b689eb290a8a77585359f6.tar.bz2 |
DHCPCD(8): Use select() instead of pselect()
Diffstat (limited to 'dhcpcd')
-rw-r--r-- | dhcpcd/compat/pselect.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/dhcpcd/compat/pselect.c b/dhcpcd/compat/pselect.c index 8c6d8ed1..a18e5b3e 100644 --- a/dhcpcd/compat/pselect.c +++ b/dhcpcd/compat/pselect.c @@ -27,6 +27,7 @@ #include <sys/time.h> #include <sys/types.h> +#include <sys/select.h> #include <limits.h> #include <poll.h> @@ -42,6 +43,8 @@ pollts(struct pollfd *restrict fds, nfds_t nfds, fd_set read_fds; nfds_t n; int maxfd, r; + struct timeval tv; + struct timeval *tvp; FD_ZERO(&read_fds); maxfd = 0; @@ -53,7 +56,14 @@ pollts(struct pollfd *restrict fds, nfds_t nfds, } } - r = pselect(maxfd + 1, &read_fds, NULL, NULL, ts, sigmask); + if (ts != NULL) { + TIMESPEC_TO_TIMEVAL(&tv, ts); + tvp = &tv; + } else { + tvp = NULL; + } + + r = select(maxfd + 1, &read_fds, NULL, NULL, tvp); if (r > 0) { for (n = 0; n < nfds; n++) { fds[n].revents = |