- /* wake up when "queue" file is deleted */
- if (poll(pfd, 1, 100) > 0 && pfd[0].revents & POLLIN) {
- char buf[sizeof(struct inotify_event) + PATH_MAX];
-
- read(pfd[0].fd, buf, sizeof(buf));
- }
+ /* wake up when queue is empty */
+ if (poll(pfd, 1, MSEC_PER_SEC) > 0 && pfd[0].revents & POLLIN)
+ udev_queue_flush(queue);