- if (ioctl(s->inotify_fd, FIONREAD, &l) < 0) {
- log_error_errno(errno, "FIONREAD failed: %m");
- return -errno;
- }
-
- assert(l > 0);
-
- buf = malloc(l);
- if (!buf)
- return log_oom();
+ l = read(s->inotify_fd, &buffer, sizeof(buffer));
+ if (l < 0) {
+ if (errno == EAGAIN || errno == EINTR)
+ return 0;