summaryrefslogtreecommitdiffstats
path: root/dhcpcd
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-12-17 14:10:37 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-01-30 16:23:03 +0100
commite6d558f7ae6aff8a47b689eb290a8a77585359f6 (patch)
treeb74c52e7fce9338efa0022e96a11e996e7abedff /dhcpcd
parentDHCPCD(8): Add basic support (diff)
downloadrtems-libbsd-e6d558f7ae6aff8a47b689eb290a8a77585359f6.tar.bz2
DHCPCD(8): Use select() instead of pselect()
Diffstat (limited to 'dhcpcd')
-rw-r--r--dhcpcd/compat/pselect.c12
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 =