Add support for LTTNG_UST_HOME
[lttng-ust.git] / src / lib / lttng-ust / lttng-ust-comm.c
index 0fe2da466ad1cce241b0b82efd864e651223341e..e206456f0d98060ea20c2310c4f993c1d6494ece 100644 (file)
@@ -370,16 +370,26 @@ static char *get_map_shm(struct sock_info *sock_info);
 /*
  * 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");
 }
 
@@ -389,13 +399,13 @@ const char *get_lttng_home_dir(void)
 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)));
 }
 
 /*
@@ -1584,14 +1594,14 @@ open_write:
        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;
                }
This page took 0.024527 seconds and 4 git commands to generate.