X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=tests%2Fust-multi-test%2Fust-multi-test.c;h=965c34cd0acbcaec18ba589b5f2923b95bf60f40;hb=1a34b35bd722069b483d2b5030f8ddc65e4573c2;hp=3f0cf1d565cfc21b674da14e9fbedec26b5e5e12;hpb=9501d22f55b3a23f382f631c99b2325d1419b5da;p=lttng-ust.git diff --git a/tests/ust-multi-test/ust-multi-test.c b/tests/ust-multi-test/ust-multi-test.c index 3f0cf1d5..965c34cd 100644 --- a/tests/ust-multi-test/ust-multi-test.c +++ b/tests/ust-multi-test/ust-multi-test.c @@ -40,6 +40,7 @@ #include #include +#include #include <../../libringbuffer/backend.h> #include <../../libringbuffer/frontend.h> #include "../../liblttng-ust/compat.h" /* For ENODATA */ @@ -92,7 +93,7 @@ int open_streams(int sock, int channel_handle, struct lttng_ust_object_data *str stream_datas[k].handle = lur.ret_val; printf("received stream handle %u\n", stream_datas[k].handle); - if (lur.ret_code == USTCOMM_OK) { + if (lur.ret_code == LTTNG_UST_OK) { ssize_t len; stream_datas[k].memory_map_size = lur.u.stream.memory_map_size; @@ -109,7 +110,7 @@ int open_streams(int sock, int channel_handle, struct lttng_ust_object_data *str } k++; } - if (ret == -ENOENT) + if (ret == -LTTNG_UST_ERR_NOENT) break; if (ret) return ret; @@ -367,7 +368,7 @@ int send_app_msgs(int sock) return ret; metadata_data[i].handle = lur.ret_val; printf("received metadata handle %u\n", metadata_data[i].handle); - if (lur.ret_code == USTCOMM_OK) { + if (lur.ret_code == LTTNG_UST_OK) { ssize_t len; metadata_data[i].memory_map_size = lur.u.channel.memory_map_size; @@ -409,7 +410,7 @@ int send_app_msgs(int sock) return ret; channel_data[i][j].handle = lur.ret_val; printf("received channel handle %u\n", channel_data[i][j].handle); - if (lur.ret_code == USTCOMM_OK) { + if (lur.ret_code == LTTNG_UST_OK) { ssize_t len; channel_data[i][j].memory_map_size = lur.u.channel.memory_map_size; @@ -693,6 +694,8 @@ static void set_ulimit(void) int main(int argc, char **argv) { const char *home_dir; + char home_rundir[PATH_MAX]; + char *cmd = NULL; int ret, wait_shm_fd; struct sigaction act; mode_t old_umask = 0; @@ -743,6 +746,21 @@ int main(int argc, char **argv) strcpy(apps_sock_path, DEFAULT_GLOBAL_APPS_UNIX_SOCK); old_umask = umask(0); } else { + home_dir = (const char *) getenv("HOME"); + if (!home_dir) { + perror("getenv error"); + return -ENOENT; + } + + snprintf(home_rundir, PATH_MAX, + LTTNG_HOME_RUNDIR, home_dir); + + ret = mkdir(home_rundir, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); + if (ret && errno != EEXIST) { + perror("mkdir"); + return -1; + } + snprintf(local_apps_wait_shm_path, PATH_MAX, DEFAULT_HOME_APPS_WAIT_SHM_PATH, getuid()); wait_shm_fd = get_wait_shm(local_apps_wait_shm_path, @@ -751,11 +769,6 @@ int main(int argc, char **argv) perror("local wait shm error"); return -1; } - home_dir = (const char *) getenv("HOME"); - if (!home_dir) { - perror("getenv error"); - return -ENOENT; - } snprintf(apps_sock_path, PATH_MAX, DEFAULT_HOME_APPS_UNIX_SOCK, home_dir); } @@ -801,6 +814,7 @@ int main(int argc, char **argv) pid_t ppid; uid_t uid; gid_t gid; + uint32_t bits_per_long; char name[16]; /* Process name */ } reg_msg; char bufname[17]; @@ -846,5 +860,20 @@ end: return -1; } + if (geteuid()) { + printf("Removing %s directory\n", home_rundir); + ret = asprintf(&cmd, "rm -rf %s", home_rundir); + if (ret < 0) { + printf("asprintf failed. Something is really wrong!\n"); + return -1; + } + + /* Remove lttng run directory */ + ret = system(cmd); + if (ret < 0) { + printf("Unable to clean %s\n", home_rundir); + } + } + return 0; }