]> 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>
Tue, 6 Nov 2018 11:25:09 +0000 (11:25 +0000)
lib/isc/win32/socket.c

index 55c9cbb45e6669e7fb82c986c31347e9ff0ee3bc..a9807c2294073145a8c349e8a6e11e222220b3ef 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 */