summaryrefslogtreecommitdiff
path: root/udev.c
diff options
context:
space:
mode:
Diffstat (limited to 'udev.c')
-rw-r--r--udev.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/udev.c b/udev.c
index 4096b8b348..2a6e1efc99 100644
--- a/udev.c
+++ b/udev.c
@@ -123,8 +123,12 @@ int main(int argc, char *argv[], char *envp[])
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, action);
+ else
+ execute_program(name_loop->name, udev.subsystem, NULL, 0, NULL);
+ }
}
udev_cleanup_device(&udev);