]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Synchronize Windows socket code with API changes.
authorWitold Kręcicki <wpk@isc.org>
Wed, 24 Oct 2018 10:52:37 +0000 (10:52 +0000)
committerWitold Kręcicki <wpk@isc.org>
Thu, 15 Nov 2018 08:21:17 +0000 (08:21 +0000)
lib/isc/win32/socket.c

index 32b7ca70dca19368bda534771ec0530e4cdac4e1..37eacc7ba819045175943237f4899f00609db6eb 100644 (file)
@@ -508,8 +508,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,
@@ -2538,7 +2536,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;
@@ -2574,6 +2572,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 */