Don't initialize defaults in library constructor
[lttng-tools.git] / src / common / defaults.c
index e670eeb0ffbb1b74819916dd7e58ad8cb3001e61..d131971ecf05e62b89d1cb1bd3db064c980b1d6c 100644 (file)
 
 #include "defaults.h"
 #include "macros.h"
+#include "align.h"
 
-size_t default_channel_subbuf_size;
-size_t default_metadata_subbuf_size;
-size_t default_kernel_channel_subbuf_size;
-size_t default_ust_pid_channel_subbuf_size;
-size_t default_ust_uid_channel_subbuf_size;
+static size_t default_channel_subbuf_size;
+static size_t default_metadata_subbuf_size;
+static size_t default_kernel_channel_subbuf_size;
+static size_t default_ust_pid_channel_subbuf_size;
+static size_t default_ust_uid_channel_subbuf_size;
 
-static void __attribute__((constructor)) init_defaults(void)
+LTTNG_HIDDEN
+size_t default_get_channel_subbuf_size(void)
 {
-       /*
-        * The libringbuffer won't accept subbuf sizes smaller than the page size.
-        * If the default subbuf size is smaller, replace it by the page size.
-        */
-       long page_size = sysconf(_SC_PAGESIZE);
-
-       if (page_size < 0) {
-               page_size = 0;
-       }
-
-       default_channel_subbuf_size =
-               max(_DEFAULT_CHANNEL_SUBBUF_SIZE, page_size);
-       default_metadata_subbuf_size =
-               max(DEFAULT_METADATA_SUBBUF_SIZE, page_size);
-       default_kernel_channel_subbuf_size =
-               max(DEFAULT_KERNEL_CHANNEL_SUBBUF_SIZE, page_size);
-       default_ust_pid_channel_subbuf_size =
-               max(DEFAULT_UST_PID_CHANNEL_SUBBUF_SIZE, page_size);
-       default_ust_uid_channel_subbuf_size =
-               max(DEFAULT_UST_UID_CHANNEL_SUBBUF_SIZE, page_size);
+       return max(_DEFAULT_CHANNEL_SUBBUF_SIZE, PAGE_SIZE);
+}
+
+LTTNG_HIDDEN
+size_t default_get_metadata_subbuf_size(void)
+{
+       return max(DEFAULT_METADATA_SUBBUF_SIZE, PAGE_SIZE);
+}
+
+LTTNG_HIDDEN
+size_t default_get_kernel_channel_subbuf_size(void)
+{
+       return max(DEFAULT_KERNEL_CHANNEL_SUBBUF_SIZE, PAGE_SIZE);
+}
+
+LTTNG_HIDDEN
+size_t default_get_ust_pid_channel_subbuf_size(void)
+{
+       return max(DEFAULT_UST_PID_CHANNEL_SUBBUF_SIZE, PAGE_SIZE);
+}
+
+LTTNG_HIDDEN
+size_t default_get_ust_uid_channel_subbuf_size(void)
+{
+       return max(DEFAULT_UST_UID_CHANNEL_SUBBUF_SIZE, PAGE_SIZE);
 }
This page took 0.023469 seconds and 4 git commands to generate.