X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=trunk%2Fltt-control%2Flttd%2Flttd.c;h=f21c411eb8940de479fb62980917c6880fae7e99;hb=1c2291f5d2f79795da29153bd5b962f0539d3316;hp=87d5630c200983ed2d6cfc6af5e5016705130752;hpb=7967f7c3ae01d9b9aad66167dceb2d266ace4ab1;p=ltt-control.git diff --git a/trunk/ltt-control/lttd/lttd.c b/trunk/ltt-control/lttd/lttd.c index 87d5630..f21c411 100644 --- a/trunk/ltt-control/lttd/lttd.c +++ b/trunk/ltt-control/lttd/lttd.c @@ -52,6 +52,7 @@ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,14) #include +#if 0 /* should now be provided by libc. */ /* From the inotify-tools 2.6 package */ static inline int inotify_init (void) { @@ -67,6 +68,7 @@ static inline int inotify_rm_watch (int fd, __u32 wd) { return syscall (__NR_inotify_rm_watch, fd, wd); } +#endif //0 #define HAS_INOTIFY #else static inline int inotify_init (void) @@ -314,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; @@ -918,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;