libc/resolv: Use poll() instead of kqueue().

The resolver in libc creates a kqueue for watching a single file descriptor.
This can be done using poll() which should be lighter on the kernel and
reduce possible problems with rlimits (file descriptors, kqueues).

Reviewed by:	jhb
This commit is contained in:
Jilles Tjoelker 2014-01-14 22:05:33 +00:00
parent 6103bae6ae
commit e852d6bc48
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=260652
2 changed files with 3 additions and 3 deletions

View file

@ -5,7 +5,7 @@
#define _LIBC 1
#define DO_PTHREADS 1
#define USE_KQUEUE 1
#define USE_POLL 1
#define ISC_SOCKLEN_T socklen_t
#define ISC_FORMAT_PRINTF(fmt, args) \

View file

@ -77,7 +77,7 @@ __FBSDID("$FreeBSD$");
*/
#include "port_before.h"
#ifndef USE_KQUEUE
#if !defined(USE_KQUEUE) && !defined(USE_POLL)
#include "fd_setsize.h"
#endif
@ -963,7 +963,7 @@ send_dg(res_state statp,
timeout.tv_nsec/1000000;
pollfd.fd = s;
pollfd.events = POLLRDNORM;
n = poll(&pollfd, 1, polltimeout);
n = _poll(&pollfd, 1, polltimeout);
#endif /* USE_POLL */
if (n == 0) {