- if (dev != NULL) {
- log_debug("inotify event: %x for %s", ev->mask, udev_device_get_devnode(dev));
- if (ev->mask & IN_CLOSE_WRITE) {
- char filename[UTIL_PATH_SIZE];
- int fd;
-
- log_debug("device %s closed, synthesising 'change'", udev_device_get_devnode(dev));
- strscpyl(filename, sizeof(filename), udev_device_get_syspath(dev), "/uevent", NULL);
- fd = open(filename, O_WRONLY|O_CLOEXEC);
- if (fd >= 0) {
- if (write(fd, "change", 6) < 0)
- log_debug("error writing uevent: %m");
- close(fd);
- }
- }
- if (ev->mask & IN_IGNORED)
- udev_watch_end(udev, dev);