Tests: lttng-ust-getcpu-override-test cache and error-check sysconf()
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 15 Jul 2015 19:15:49 +0000 (15:15 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 15 Jul 2015 19:15:49 +0000 (15:15 -0400)
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
tests/regression/ust/getcpu-override/lttng-ust-getcpu-override-test.c

index a5272e12b020e1ae5b403483c3922a1b5ab728c2..f86826ca47700eaf6220774a84063516014f37fe 100644 (file)
@@ -31,6 +31,8 @@
 #include <unistd.h>
 #include <lttng/ust-getcpu.h>
 
+static long nprocessors;
+
 int plugin_getcpu(void)
 {
        /* Generate a sequence based on the number of configurated processor
@@ -63,7 +65,8 @@ int plugin_getcpu(void)
                98, 5, 50, 99, 4, 89, 13, 63, 6, 136, 153, 23, 16, 47, 130, 75,
                62 };
        int ret;
-       ret = seq_seed[i] % sysconf(_SC_NPROCESSORS_CONF);
+
+       ret = seq_seed[i] % nprocessors;
        i++;
        i = i % 256;
        return ret;
@@ -73,6 +76,12 @@ void lttng_ust_getcpu_plugin_init(void)
 {
        int ret;
 
+       nprocessors = sysconf(_SC_NPROCESSORS_CONF);
+       if (nprocessors < 0) {
+               perror("Failed to get _SC_NPROCESSORS_CONF");
+               goto error;
+       }
+
        ret = lttng_ust_getcpu_override(plugin_getcpu);
        if (ret) {
                fprintf(stderr, "Error enabling getcpu override: %s\n",
This page took 0.028104 seconds and 4 git commands to generate.