chiark / gitweb /
add flag for reading of precompiled rules
[elogind.git] / udevstart.c
index 0bcbc3973723d605987c31c44b1d8a1903dd0e5e..4288db9d38177d59ddd28d9ca1def572539bc1a2 100644 (file)
@@ -160,8 +160,12 @@ run:
                struct name_entry *name_loop;
 
                dbg("executing run list");
-               list_for_each_entry(name_loop, &udev.run_list, node)
-                       execute_program(name_loop->name, udev.subsystem, NULL, 0, NULL);
+               list_for_each_entry(name_loop, &udev.run_list, node) {
+                       if (strncmp(name_loop->name, "socket:", strlen("socket:")) == 0)
+                               pass_env_to_socket(&name_loop->name[strlen("socket:")], devpath, "add");
+                       else
+                               execute_program(name_loop->name, udev.subsystem, NULL, 0, NULL);
+               }
        }
 exit:
        sysfs_close_class_device(class_dev);
@@ -363,7 +367,7 @@ int main(int argc, char *argv[], char *envp[])
        /* trigger timeout to prevent hanging processes */
        alarm(UDEV_ALARM_TIMEOUT);
 
-       udev_rules_init(&rules, 1);
+       udev_rules_init(&rules, 0, 1);
 
        udev_scan_block();
        udev_scan_class();