#include <time.h>
#include <assert.h>
#include <signal.h>
+#include <limits.h>
#include <urcu/uatomic.h>
#include <urcu/futex.h>
#include <urcu/compiler.h>
#include "tracepoint-internal.h"
#include "lttng-tracer-core.h"
#include "compat.h"
-#include "../libringbuffer/tlsfixup.h"
+#include "../libringbuffer/rb-init.h"
#include "lttng-ust-statedump.h"
#include "clock.h"
#include "../libringbuffer/getcpu.h"
{
const char *val;
- val = (const char *) lttng_secure_getenv("LTTNG_HOME");
+ val = (const char *) lttng_getenv("LTTNG_HOME");
if (val != NULL) {
return val;
}
- return (const char *) lttng_secure_getenv("HOME");
+ return (const char *) lttng_getenv("HOME");
}
/*
long constructor_delay_ms = LTTNG_UST_DEFAULT_CONSTRUCTOR_TIMEOUT_MS;
if (!got_timeout_env) {
- str_timeout = getenv("LTTNG_UST_REGISTER_TIMEOUT");
+ str_timeout = lttng_getenv("LTTNG_UST_REGISTER_TIMEOUT");
got_timeout_env = 1;
}
if (str_timeout)
return 1;
}
+static
+void get_blocking_retry_timeout(void)
+{
+ const char *str_blocking_retry_timeout =
+ lttng_getenv("LTTNG_UST_BLOCKING_RETRY_TIMEOUT");
+
+ if (str_blocking_retry_timeout) {
+ long timeout = strtol(str_blocking_retry_timeout, NULL, 10);
+
+ if (timeout < 0)
+ timeout = -1;
+ if (timeout > INT_MAX) {
+ WARN("Saturating %s value from %ld to %d\n",
+ "LTTNG_UST_BLOCKING_RETRY_TIMEOUT",
+ timeout, INT_MAX);
+ timeout = INT_MAX;
+ }
+ DBG("%s environment variable value is %ld",
+ "LTTNG_UST_BLOCKING_RETRY_TIMEOUT",
+ timeout);
+ lttng_ust_ringbuffer_set_retry_timeout(timeout);
+ }
+}
+
static
int register_to_sessiond(int socket, enum ustctl_socket_type type)
{
* sessiond before the init functions are completed).
*/
init_usterr();
+ lttng_ust_getenv_init(); /* Needs init_usterr() to be completed. */
init_tracepoint();
lttng_ust_init_fd_tracker();
lttng_ust_clock_init();
timeout_mode = get_constructor_timeout(&constructor_timeout);
+ get_blocking_retry_timeout();
+
ret = sem_init(&constructor_wait, 0, 0);
if (ret) {
PERROR("sem_init");