]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Windows fixes
authorWitold Kręcicki <wpk@isc.org>
Wed, 24 Oct 2018 10:52:37 +0000 (10:52 +0000)
committerWitold Kręcicki <wpk@isc.org>
Wed, 24 Oct 2018 10:52:37 +0000 (10:52 +0000)
lib/isc/win32/socket.c

index b61f2d7b19a09654e3199fe6fb30c9105169d633..b94c0d5e20cb6d8b02241d20d15fe1b7c9fa2ba6 100644 (file)
@@ -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 */