From 33e3cf8eaff0081e74593f8a91edc8e37f732430 Mon Sep 17 00:00:00 2001 From: Christian Mauderer Date: Thu, 25 Feb 2021 11:29:56 +0100 Subject: ping6: Honor file descriptor maximum This is basically the same as the patch for ping. Update #4360 --- freebsd/sbin/ping6/ping6.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/freebsd/sbin/ping6/ping6.c b/freebsd/sbin/ping6/ping6.c index db3ab05a..96bd60e3 100644 --- a/freebsd/sbin/ping6/ping6.c +++ b/freebsd/sbin/ping6/ping6.c @@ -115,6 +115,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #endif /* __rtems__ */ #include #include @@ -1198,7 +1199,13 @@ main(int argc, char *argv[]) struct timespec now, timeout; struct msghdr m; struct iovec iov[2]; +#ifndef __rtems__ fd_set rfds; +#else /* __rtems__ */ + fd_set big_enough_rfds[howmany(rtems_libio_number_iops, + sizeof(fd_set) * 8)]; +#define rfds (*(fd_set *)(&big_enough_rfds[0])) +#endif /* __rtems__ */ int n; /* signal handling */ @@ -1211,7 +1218,11 @@ main(int argc, char *argv[]) continue; } #endif +#ifndef __rtems__ FD_ZERO(&rfds); +#else /* __rtems__ */ + memset(big_enough_rfds, 0, sizeof(big_enough_rfds)); +#endif /* __rtems__ */ FD_SET(srecv, &rfds); clock_gettime(CLOCK_MONOTONIC, &now); timespecadd(&last, &intvl, &timeout); -- cgit v1.2.3