projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: only launch a new session daemon for the "create" command
[lttng-tools.git]
/
src
/
common
/
utils.c
diff --git
a/src/common/utils.c
b/src/common/utils.c
index f9e6a99eafeec26afa4c7640f8a8d5a2c64178b1..4b733fb5cc346ead97b928809c9056eb42290904 100644
(file)
--- a/
src/common/utils.c
+++ b/
src/common/utils.c
@@
-1062,13
+1062,13
@@
end:
/*
* Try to remove a hierarchy of empty directories, recursively. Don't unlink
/*
* Try to remove a hierarchy of empty directories, recursively. Don't unlink
- * any file.
+ * any file.
Try to rmdir any empty directory within the hierarchy.
*/
LTTNG_HIDDEN
int utils_recursive_rmdir(const char *path)
{
DIR *dir;
*/
LTTNG_HIDDEN
int utils_recursive_rmdir(const char *path)
{
DIR *dir;
- int dir_fd, ret = 0, closeret;
+ int dir_fd, ret = 0, closeret
, is_empty = 1
;
struct dirent *entry;
/* Open directory */
struct dirent *entry;
/* Open directory */
@@
-1098,15
+1098,14
@@
int utils_recursive_rmdir(const char *path)
PATH_MAX - strlen(subpath) - 1);
strncat(subpath, entry->d_name,
PATH_MAX - strlen(subpath) - 1);
PATH_MAX - strlen(subpath) - 1);
strncat(subpath, entry->d_name,
PATH_MAX - strlen(subpath) - 1);
- ret = utils_recursive_rmdir(subpath);
- if (ret) {
- goto end;
+ if (utils_recursive_rmdir(subpath)) {
+ is_empty = 0;
}
break;
}
case DT_REG:
}
break;
}
case DT_REG:
-
ret = -EBUSY
;
-
goto end
;
+
is_empty = 0
;
+
break
;
default:
ret = -EINVAL;
goto end;
default:
ret = -EINVAL;
goto end;
@@
-1117,7
+1116,7
@@
end:
if (closeret) {
PERROR("closedir");
}
if (closeret) {
PERROR("closedir");
}
- if (
!ret
) {
+ if (
is_empty
) {
DBG3("Attempting rmdir %s", path);
ret = rmdir(path);
}
DBG3("Attempting rmdir %s", path);
ret = rmdir(path);
}
This page took
0.025736 seconds
and
5
git commands to generate.