/*
* Returns the HOME directory path. Caller MUST NOT free(3) the returned
* pointer.
+ * The following env are checked in order of priority:
+ * 1 - LTTNG_UST_HOME
+ * 2 - LTTNG_HOME
+ * 3 - HOME
*/
static
const char *get_lttng_home_dir(void)
{
const char *val;
+ val = (const char *) lttng_ust_getenv("LTTNG_UST_HOME");
+ if (val != NULL) {
+ return val;
+ }
+
val = (const char *) lttng_ust_getenv("LTTNG_HOME");
if (val != NULL) {
return val;
}
+
return (const char *) lttng_ust_getenv("HOME");
}
static
void lttng_ust_nest_count_alloc_tls(void)
{
- asm volatile ("" : : "m" (URCU_TLS(lttng_ust_nest_count)));
+ __asm__ __volatile__ ("" : : "m" (URCU_TLS(lttng_ust_nest_count)));
}
static
void lttng_ust_mutex_nest_alloc_tls(void)
{
- asm volatile ("" : : "m" (URCU_TLS(ust_mutex_nest)));
+ __asm__ __volatile__ ("" : : "m" (URCU_TLS(ust_mutex_nest)));
}
/*
pid = fork();
URCU_TLS(lttng_ust_nest_count)--;
if (pid > 0) {
- int status;
+ int status, wait_ret;
/*
* Parent: wait for child to return, in which case the
* shared memory map will have been created.
*/
- pid = wait(&status);
- if (pid < 0 || !WIFEXITED(status) || WEXITSTATUS(status) != 0) {
+ wait_ret = waitpid(pid, &status, 0);
+ if (wait_ret < 0 || !WIFEXITED(status) || WEXITSTATUS(status) != 0) {
wait_shm_fd = -1;
goto end;
}