X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=lttd%2Flttd.c;h=b2e7127833141da0f66515918f73af51444398d1;hb=1ee8f63e50275f083b5ab1836658e50a49c1e330;hp=61d24688f4283170f8cf98cb3ffe0b5075305d7c;hpb=4b6ff6ef7f2326bd4b43b7c683142b7c7f66330f;p=ltt-control.git diff --git a/lttd/lttd.c b/lttd/lttd.c index 61d2468..b2e7127 100644 --- a/lttd/lttd.c +++ b/lttd/lttd.c @@ -320,15 +320,26 @@ int open_buffer_file(char *filename, char *path_channel, char *path_trace, S_IRWXU|S_IRWXG|S_IRWXO); if(fd_pairs->pair[fd_pairs->num_pairs-1].trace == -1) { perror(path_trace); + open_ret = -1; + close(fd_pairs->pair[fd_pairs->num_pairs-1].channel); + fd_pairs->num_pairs--; + goto end; } ret = lseek(fd_pairs->pair[fd_pairs->num_pairs-1].trace, 0, SEEK_END); if (ret < 0) { perror(path_trace); + open_ret = -1; + close(fd_pairs->pair[fd_pairs->num_pairs-1].channel); + close(fd_pairs->pair[fd_pairs->num_pairs-1].trace); + fd_pairs->num_pairs--; + goto end; } } else { printf("File %s exists, cannot open. Try append mode.\n", path_trace); open_ret = -1; + close(fd_pairs->pair[fd_pairs->num_pairs-1].channel); + fd_pairs->num_pairs--; goto end; } } else { @@ -338,6 +349,10 @@ int open_buffer_file(char *filename, char *path_channel, char *path_trace, S_IRWXU|S_IRWXG|S_IRWXO); if(fd_pairs->pair[fd_pairs->num_pairs-1].trace == -1) { perror(path_trace); + open_ret = -1; + close(fd_pairs->pair[fd_pairs->num_pairs-1].channel); + fd_pairs->num_pairs--; + goto end; } } }