Fix: Add missing pthread.h include
[lttng-tools.git] / src / common / defaults.h
index f05030766a77be8dae7452e4fdaae94205378d79..37d222a784fd0b3564a35b3a845fb8fe88b956e2 100644 (file)
@@ -20,6 +20,7 @@
 #ifndef _DEFAULTS_H
 #define _DEFAULTS_H
 
+#include <pthread.h>
 #include <src/common/macros.h>
 
 /* Default unix group name for tracing. */
 /* Default LTTng MI XML namespace. */
 #define DEFAULT_LTTNG_MI_NAMESPACE             "http://lttng.org/xml/ns/lttng-mi"
 
+/* Default thread stack size; the default mandated by pthread_create(3) */
+#define DEFAULT_LTTNG_THREAD_STACK_SIZE                2097152
+
 /*
  * Returns the default subbuf size.
  *
@@ -354,4 +358,16 @@ size_t default_get_ust_pid_channel_subbuf_size(void);
 LTTNG_HIDDEN
 size_t default_get_ust_uid_channel_subbuf_size(void);
 
+/*
+ * Get the default pthread_attr to use on thread creation.
+ *
+ * Some libc, such as musl, don't honor the limit set for the stack size and use
+ * their own empirically chosen static value. This function checks if the
+ * current stack size is smaller than the stack size limit and if so returns a
+ * pthread_attr_t pointer where the thread stack size is set to the soft stack
+ * size limit.
+ */
+LTTNG_HIDDEN
+pthread_attr_t *default_pthread_attr(void);
+
 #endif /* _DEFAULTS_H */
This page took 0.023273 seconds and 4 git commands to generate.