mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-15 21:05:08 +00:00
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:
parent
6103bae6ae
commit
e852d6bc48
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=260652
|
@ -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) \
|
||||
|
|
|
@ -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) {
|
||||
|
|
Loading…
Reference in a new issue