X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=trunk%2Fltt-control%2Flttd%2Flttd.c;h=f21c411eb8940de479fb62980917c6880fae7e99;hb=1c2291f5d2f79795da29153bd5b962f0539d3316;hp=f9e7f3b815593ece3850cab3a9073721044ff16d;hpb=8d91577fa5394637b00f03e8f25ce1549c4442e8;p=ltt-control.git diff --git a/trunk/ltt-control/lttd/lttd.c b/trunk/ltt-control/lttd/lttd.c index f9e7f3b..f21c411 100644 --- a/trunk/ltt-control/lttd/lttd.c +++ b/trunk/ltt-control/lttd/lttd.c @@ -316,12 +316,16 @@ int open_buffer_file(char *filename, char *path_channel, char *path_trace, path_trace); fd_pairs->pair[fd_pairs->num_pairs-1].trace = - open(path_trace, O_WRONLY|O_APPEND, + open(path_trace, O_WRONLY, S_IRWXU|S_IRWXG|S_IRWXO); - if(fd_pairs->pair[fd_pairs->num_pairs-1].trace == -1) { perror(path_trace); } + ret = lseek(fd_pairs->pair[fd_pairs->num_pairs-1].trace, + 0, SEEK_END); + if (ret < 0) { + perror(path_trace); + } } else { printf("File %s exists, cannot open. Try append mode.\n", path_trace); open_ret = -1; @@ -920,7 +924,11 @@ int channels_init() if(ret = open_channel_trace_pairs(channel_name, trace_name, &fd_pairs, &inotify_fd, &inotify_watch_array)) goto close_channel; - + if (fd_pairs.num_pairs == 0) { + printf("No channel available for reading, exiting\n"); + ret = -ENOENT; + goto close_channel; + } if(ret = map_channels(&fd_pairs, 0, fd_pairs.num_pairs)) goto close_channel; return 0;