From: Florian Forster Date: Wed, 7 Feb 2024 16:55:51 +0000 (+0100) Subject: ras plugin: Use `sysconf(_SC_NPROCESSORS_CONF)` instead of `get_nprocs_conf()`. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b4493b1259a9dd831f372a02e5632fa001df4b44;p=thirdparty%2Fcollectd.git ras plugin: Use `sysconf(_SC_NPROCESSORS_CONF)` instead of `get_nprocs_conf()`. `get_nprocs_conf()` is a GNU extension. --- diff --git a/src/ras.c b/src/ras.c index 310bfba19..a12caaf4c 100644 --- a/src/ras.c +++ b/src/ras.c @@ -381,12 +381,22 @@ static int ras_init(void) { INFO("Database opened successfully"); } - nprocs = get_nprocs_conf(); + long n = sysconf(_SC_NPROCESSORS_CONF); + if (n == -1) { + ERROR("ras plugin: sysconf(_SC_NPROCESSORS_CONF) failed: %s", STRERRNO); + return errno; + } + if (n <= 0) { + ERROR("ras plugin: sysconf(_SC_NPROCESSORS_CONF) returned %ld", n); + return EINVAL; + } + + nprocs = (int)n; ras_metrics_server.per_CPU = (struct ras_metrics_per_CPU *)calloc( nprocs, sizeof(struct ras_metrics_per_CPU)); if (ras_metrics_server.per_CPU == NULL) { ERROR("Fail allocated memory"); - return -1; + return ENOMEM; } return 0; } /* int ras_init */