chiark / gitweb /
Fix makefile to allow 'make release' to work with git
[elogind.git] / udevstart.c
index 4bd47958742da97e4ba1a45193fbdbd4972ab76e..60e63c5ad8a69c8c9b512ff764e97c4d310895b2 100644 (file)
@@ -126,12 +126,21 @@ static int add_device(const char *path, const char *subsystem)
        udev_init_device(&udev, devpath, subsystem, "add");
        udev_add_device(&udev, class_dev);
 
-       /* run dev.d/ scripts if we created a node or changed a netif name */
-       if (udev_dev_d && udev.devname[0] != '\0') {
+       if (udev.devname[0] != '\0')
                setenv("DEVNAME", udev.devname, 1);
-               udev_multiplex_directory(&udev, DEVD_DIR, DEVD_SUFFIX);
+
+       if (udev_run && !list_empty(&udev.run_list)) {
+               struct name_entry *name_loop;
+
+               dbg("executing run list");
+               list_for_each_entry(name_loop, &udev.run_list, node)
+                       execute_command(name_loop->name, udev.subsystem);
        }
 
+       /* run dev.d/ scripts if we created a node or changed a netif name */
+       if (udev_dev_d && udev.devname[0] != '\0')
+               udev_multiplex_directory(&udev, DEVD_DIR, DEVD_SUFFIX);
+
        sysfs_close_class_device(class_dev);
        udev_cleanup_device(&udev);