From: Witold Kręcicki Date: Wed, 24 Oct 2018 10:52:37 +0000 (+0000) Subject: Windows fixes X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=43e566937ebc500a6f16705b18a4e7b792ca9307;p=thirdparty%2Fbind9.git Windows fixes --- diff --git a/lib/isc/win32/socket.c b/lib/isc/win32/socket.c index b61f2d7b19a..b94c0d5e20c 100644 --- a/lib/isc/win32/socket.c +++ b/lib/isc/win32/socket.c @@ -518,8 +518,6 @@ iocompletionport_init(isc_socketmgr_t *manager) { strbuf); } - manager->maxIOCPThreads = min(isc_os_ncpus() + 1, MAX_IOCPTHREADS); - /* Now Create the Completion Port */ manager->hIoCompletionPort = CreateIoCompletionPort( INVALID_HANDLE_VALUE, NULL, @@ -2641,7 +2639,7 @@ isc_socketmgr_create(isc_mem_t *mctx, isc_socketmgr_t **managerp) { isc_result_t isc_socketmgr_create2(isc_mem_t *mctx, isc_socketmgr_t **managerp, - unsigned int maxsocks) + unsigned int maxsocks, int nthreads) { isc_socketmgr_t *manager; isc_result_t result; @@ -2677,6 +2675,10 @@ isc_socketmgr_create2(isc_mem_t *mctx, isc_socketmgr_t **managerp, } isc_mem_attach(mctx, &manager->mctx); + if (nthreads == 0) { + nthreads = isc_os_ncpus() + 1; + } + manager->maxIOCPThreads = min(nthreads, MAX_IOCPTHREADS); iocompletionport_init(manager); /* Create the Completion Ports */