#define RELAY_GET_SUBBUF_SIZE _IOR(0xF5, 0x03,__u32)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,14)
-#include <linux/inotify.h>
+#include <sys/inotify.h>
+#if 0 /* should now be provided by libc. */
/* From the inotify-tools 2.6 package */
static inline int inotify_init (void)
{
{
return syscall (__NR_inotify_rm_watch, fd, wd);
}
+#endif //0
#define HAS_INOTIFY
#else
static inline int inotify_init (void)
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;
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;