]> git.ipfire.org Git - thirdparty/collectd.git/commitdiff
ras plugin: Use `sysconf(_SC_NPROCESSORS_CONF)` instead of `get_nprocs_conf()`.
authorFlorian Forster <octo@collectd.org>
Wed, 7 Feb 2024 16:55:51 +0000 (17:55 +0100)
committerFlorian Forster <octo@collectd.org>
Wed, 7 Feb 2024 16:59:40 +0000 (17:59 +0100)
`get_nprocs_conf()` is a GNU extension.

src/ras.c

index 310bfba19265863f431f071ff1c742faf6820b3f..a12caaf4c66243fd7a17537bf697defda7484d5e 100644 (file)
--- 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 */