diff options
| author | Garrett D'Amore <garrett@damore.org> | 2023-04-19 23:47:39 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2023-04-19 23:49:48 -0700 |
| commit | 8bd3733fc234e9677068cfb4f2b50a35e4413eeb (patch) | |
| tree | e9f6ed54b547df057ad0823c7448031cc5c712a2 /src/core | |
| parent | 547502d817127d7aa4b71500171403a93435a3e9 (diff) | |
| download | nng-8bd3733fc234e9677068cfb4f2b50a35e4413eeb.tar.gz nng-8bd3733fc234e9677068cfb4f2b50a35e4413eeb.tar.bz2 nng-8bd3733fc234e9677068cfb4f2b50a35e4413eeb.zip | |
fixes #1619 Expose NNG_MAX_EXPIRE_THREADS via CMake
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/aio.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/core/aio.c b/src/core/aio.c index 771cbc95..2d288a40 100644 --- a/src/core/aio.c +++ b/src/core/aio.c @@ -1,5 +1,5 @@ // -// Copyright 2022 Staysail Systems, Inc. <info@staysail.tech> +// Copyright 2023 Staysail Systems, Inc. <info@staysail.tech> // Copyright 2018 Capitar IT Group BV <info@capitar.com> // // This software is supplied under the terms of the MIT License, a @@ -796,14 +796,23 @@ nni_aio_sys_init(void) int num_thr; // We create a thread per CPU core for expiration by default. -#ifndef NNG_EXPIRE_THREADS num_thr = nni_plat_ncpu(); +#ifndef NNG_EXPIRE_THREADS +#ifndef NNG_MAX_EXPIRE_THREADS +#define NNG_MAX_EXPIRE_THREADS 8 +#endif + if ((num_thr > NNG_MAX_EXPIRE_THREADS) && (NNG_MAX_EXPIRE_THREADS > 0)) { + num_thr = NNG_MAX_EXPIRE_THREADS; + } #else num_thr = NNG_EXPIRE_THREADS; #endif - if (num_thr > 256) { + if (num_thr > 256) { // upper limits num_thr = 256; } + if (num_thr < 1) { + num_thr = 1; + } nni_aio_expire_q_list = nni_zalloc(sizeof(nni_aio_expire_q *) * num_thr); |
