From c6096967e3d8d98f24210d4c66e4d22509bdce5c Mon Sep 17 00:00:00 2001 From: "Dmitrij D. Czarkoff" Date: Mon, 28 Dec 2015 11:33:16 +0100 Subject: Use stat(2) to monitor file changes Makes file monitoring in imv completely POSIX. --- src/reload.c | 49 ------------------------------------------------- 1 file changed, 49 deletions(-) delete mode 100644 src/reload.c (limited to 'src/reload.c') diff --git a/src/reload.c b/src/reload.c deleted file mode 100644 index a307d45..0000000 --- a/src/reload.c +++ /dev/null @@ -1,49 +0,0 @@ -#include -#include -#include -#include - -#include "reload.h" - -void imv_init_reload(struct imv_reload *rld) -{ - rld->fd = inotify_init1(IN_NONBLOCK); - if(rld->fd == -1) { - perror("imv_init_reload"); - } - - rld->wd = 0; -} - -void imv_reload_watch(struct imv_reload *rld, const char *path) -{ - if(rld->wd != 0) { - inotify_rm_watch(rld->fd, rld->wd); - } - - rld->wd = inotify_add_watch(rld->fd, path, IN_CLOSE_WRITE); - if(rld->wd == -1) { - perror("imv_reload_watch"); - } -} - -int imv_reload_changed(struct imv_reload *rld) -{ - struct inotify_event ev; - ssize_t len = read(rld->fd, &ev, sizeof(ev)); - - if(len < 0) { - if(errno != EAGAIN) { - perror("imv_reload_changed"); - } - } else if(ev.mask & IN_CLOSE_WRITE) { - return 1; - } - - return 0; -} - -void imv_destroy_reload(struct imv_reload *rld) -{ - close(rld->fd); -} -- cgit v1.2.3