chiark / gitweb /
inotify_add_watch(): do not store watch, if it failed
authorKay Sievers <kay.sievers@vrfy.org>
Sun, 30 Aug 2009 18:42:06 +0000 (20:42 +0200)
committerKay Sievers <kay.sievers@vrfy.org>
Sun, 30 Aug 2009 18:42:06 +0000 (20:42 +0200)
On Sun, Aug 30, 2009 at 04:36, Marco d'Itri<md@linux.it> wrote:
> inotify_add_watch may fail in udev_watch_begin, and then a link with
> name -1 is created.
> I do not know why, but it happened once on my system:
>
> lrwxrwxrwx 1 root root 27 Aug  4 11:27 -1 -> /devices/virtual/block/ram8

udev/udev-watch.c

index 5a49c963da82a0651aa50c7612580419abc063c6..102e16f81d0fbfc21a7310024ac5e4e8d6461be0 100644 (file)
@@ -121,6 +121,7 @@ void udev_watch_begin(struct udev *udev, struct udev_device *dev)
        if (wd < 0) {
                err(udev, "inotify_add_watch(%d, %s, %o) failed: %m\n",
                    inotify_fd, udev_device_get_devnode(dev), IN_CLOSE_WRITE);
+               return;
        }
 
        snprintf(filename, sizeof(filename), "%s/.udev/watch/%d", udev_get_dev_path(udev), wd);