diff --git a/watcher.c b/watcher.c index 303391f..98e537d 100644 --- a/watcher.c +++ b/watcher.c @@ -156,9 +156,13 @@ int main(int argc, char ** argv) char event_buffer[EVENT_BUFFER_SIZE] __attribute__((aligned(8))); while (running) { ssize_t nread; - if ((nread = read(watcher.fd, event_buffer, EVENT_BUFFER_SIZE)) < 0 && errno != EAGAIN) { - LOGE("read(): %s\n", strerror(errno)); - return 1; + if ((nread = read(watcher.fd, event_buffer, EVENT_BUFFER_SIZE)) < 0) { + if (errno != EAGAIN) { + LOGE("read(): %s\n", strerror(errno)); + return 1; + } else { + continue; + } } for (char *event_ptr = event_buffer; event_ptr < event_buffer + nread; ) {