diff --git a/tests/libtest/isc.c b/tests/libtest/isc.c index b0f12576f2..1604d66ee4 100644 --- a/tests/libtest/isc.c +++ b/tests/libtest/isc.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include @@ -40,6 +41,18 @@ isc_taskmgr_t *taskmgr = NULL; isc_nm_t *netmgr = NULL; unsigned int workers = -1; +static void +adjustnofile(void) { + struct rlimit rl; + + if (getrlimit(RLIMIT_NOFILE, &rl) == 0) { + if (rl.rlim_cur != rl.rlim_max) { + rl.rlim_cur = rl.rlim_max; + setrlimit(RLIMIT_NOFILE, &rl); + } + } +} + int setup_mctx(void **state __attribute__((__unused__))) { isc_mem_debugging |= ISC_MEM_DEBUGRECORD; @@ -107,6 +120,8 @@ int setup_netmgr(void **state __attribute__((__unused__))) { REQUIRE(loopmgr != NULL); + adjustnofile(); + isc_netmgr_create(mctx, loopmgr, &netmgr); return (0);