This reverts commit
3f28e5619d0a5c2aacef18251b3263bd632199da.
When there are multiple relayd in parallel, we don't want to have a
teardown vs startup race where the directory is removed just after its
supposed creation.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
/* Global health check unix path */
static char health_unix_sock_path[PATH_MAX];
/* Global health check unix path */
static char health_unix_sock_path[PATH_MAX];
-static char *relayd_path;
-static char *lttng_rundir;
int setup_health_path(void)
{
int is_root, ret = 0;
int setup_health_path(void)
{
int is_root, ret = 0;
- char *home_path = NULL;
+ char *home_path = NULL, *rundir = NULL, *relayd_path;
is_root = !getuid();
if (is_root) {
is_root = !getuid();
if (is_root) {
- lttng_rundir = strdup(DEFAULT_LTTNG_RUNDIR);
+ rundir = strdup(DEFAULT_LTTNG_RUNDIR);
} else {
/*
* Create rundir from home path. This will create something like
} else {
/*
* Create rundir from home path. This will create something like
- ret = asprintf(<tng_rundir, DEFAULT_LTTNG_HOME_RUNDIR, home_path);
+ ret = asprintf(&rundir, DEFAULT_LTTNG_HOME_RUNDIR, home_path);
if (ret < 0) {
ret = -ENOMEM;
goto end;
}
}
if (ret < 0) {
ret = -ENOMEM;
goto end;
}
}
- ret = asprintf(&relayd_path, DEFAULT_RELAYD_PATH, lttng_rundir);
+ ret = asprintf(&relayd_path, DEFAULT_RELAYD_PATH, rundir);
if (ret < 0) {
ret = -ENOMEM;
goto end;
}
if (ret < 0) {
ret = -ENOMEM;
goto end;
}
- ret = create_lttng_rundir_with_perm(lttng_rundir);
+ ret = create_lttng_rundir_with_perm(rundir);
if (ret < 0) {
goto end;
}
if (ret < 0) {
goto end;
}
}
DBG("Health check thread dying");
unlink(health_unix_sock_path);
}
DBG("Health check thread dying");
unlink(health_unix_sock_path);
- (void) rmdir(relayd_path);
- free(relayd_path);
- (void) rmdir(lttng_rundir);
- free(lttng_rundir);
-
if (sock >= 0) {
ret = close(sock);
if (ret) {
if (sock >= 0) {
ret = close(sock);
if (ret) {