X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=libust%2Ftracectl.c;h=58b567f14265d57cea8405b9652cf49dfa66ba69;hb=dc6c486b9ac1c9db99050f9d9d1919f9cb651027;hp=33c7280743973aa281993280596a8708d428561a;hpb=14364c25a577dc8fefb8a7f232a21fa711d6a74d;p=ust.git diff --git a/libust/tracectl.c b/libust/tracectl.c index 33c7280..58b567f 100644 --- a/libust/tracectl.c +++ b/libust/tracectl.c @@ -1221,37 +1221,41 @@ static void auto_probe_connect(struct marker *m) static struct ustcomm_sock * init_app_socket(int epoll_fd) { - char *name; + char *dir_name, *sock_name; int result; - struct ustcomm_sock *sock; + struct ustcomm_sock *sock = NULL; - result = asprintf(&name, "%s/%d", SOCK_DIR, (int)getpid()); + dir_name = ustcomm_user_sock_dir(); + if (!dir_name) + return NULL; + + result = asprintf(&sock_name, "%s/%d", dir_name, (int)getpid()); if (result < 0) { ERR("string overflow allocating socket name, " "UST thread bailing"); - return NULL; + goto free_dir_name; } - result = ensure_dir_exists(SOCK_DIR); + result = ensure_dir_exists(dir_name, S_IRWXU); if (result == -1) { ERR("Unable to create socket directory %s, UST thread bailing", - SOCK_DIR); - goto free_name; + dir_name); + goto free_sock_name; } - sock = ustcomm_init_named_socket(name, epoll_fd); + sock = ustcomm_init_named_socket(sock_name, epoll_fd); if (!sock) { ERR("Error initializing named socket (%s). Check that directory" - "exists and that it is writable. UST thread bailing", name); - goto free_name; + "exists and that it is writable. UST thread bailing", sock_name); + goto free_sock_name; } - free(name); - return sock; +free_sock_name: + free(sock_name); +free_dir_name: + free(dir_name); -free_name: - free(name); - return NULL; + return sock; } static void __attribute__((constructor)) init()