summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dged/reactor-epoll.c8
-rw-r--r--src/main/main.c5
2 files changed, 5 insertions, 8 deletions
diff --git a/src/dged/reactor-epoll.c b/src/dged/reactor-epoll.c
index ead0296..4c83b49 100644
--- a/src/dged/reactor-epoll.c
+++ b/src/dged/reactor-epoll.c
@@ -84,13 +84,7 @@ uint32_t reactor_watch_file(struct reactor *reactor, const char *path,
// TODO: change if we get more event types
mask = IN_CLOSE_WRITE;
- int fd = inotify_add_watch(reactor->inotify_fd, path, mask);
- if (fd == -1) {
- minibuffer_echo_timeout(4, "failed to watch %s: %s", path, strerror(errno));
- return 0;
- }
-
- return (uint32_t)fd;
+ return (uint32_t)inotify_add_watch(reactor->inotify_fd, path, mask);
}
void reactor_unwatch_file(struct reactor *reactor, uint32_t id) {
diff --git a/src/main/main.c b/src/main/main.c
index ee954f9..8e3e862 100644
--- a/src/main/main.c
+++ b/src/main/main.c
@@ -125,7 +125,10 @@ void update_file_watches(struct reactor *reactor) {
message("re-watching: %s", w->buffer->filename);
w->watch_id =
reactor_watch_file(reactor, w->buffer->filename, FileWritten);
- reload_buffer(w->buffer);
+
+ if (w->watch_id != INVALID_WATCH) {
+ reload_buffer(w->buffer);
+ }
}
}
}