chiark / gitweb /
[PATCH] export DEVNAME to RUN-key executed programs
authorkay.sievers@vrfy.org <kay.sievers@vrfy.org>
Sat, 2 Apr 2005 22:29:05 +0000 (00:29 +0200)
committerGreg KH <gregkh@suse.de>
Wed, 27 Apr 2005 06:55:00 +0000 (23:55 -0700)
udev.8.in
udev.c
udevstart.c

index 4beab0d..3527d69 100644 (file)
--- a/udev.8.in
+++ b/udev.8.in
@@ -314,7 +314,7 @@ The name of a program must have the suffix
 .I .dev
 to be recognized.
 .br
-In addition to the hotplug environment variables,
+In addition to the kernel provided hotplug environment variables,
 .B UDEV_LOG
 is set and contains the numerical priority value, if udev is configured to use
 .BR syslog (3).
diff --git a/udev.c b/udev.c
index 5728be5..ce9b42f 100644 (file)
--- a/udev.c
+++ b/udev.c
@@ -204,6 +204,9 @@ int main(int argc, char *argv[], char *envp[])
                        retval = udev_remove_device(&udev);
                }
 
+               if (udev.devname[0] != '\0')
+                       setenv("DEVNAME", udev.devname, 1);
+
                if (udev_run && !list_empty(&udev.run_list)) {
                        struct name_entry *name_loop;
 
@@ -213,11 +216,9 @@ int main(int argc, char *argv[], char *envp[])
                }
 
                /* run dev.d/ scripts if we created/deleted a node or changed a netif name */
-               if (udev.devname[0] != '\0') {
-                       setenv("DEVNAME", udev.devname, 1);
-                       if (udev_dev_d)
-                               udev_multiplex_directory(&udev, DEVD_DIR, DEVD_SUFFIX);
-               }
+               if (udev_dev_d && udev.devname[0] != '\0')
+                       udev_multiplex_directory(&udev, DEVD_DIR, DEVD_SUFFIX);
+
        } else if (udev.type == DEV_DEVICE) {
                if (strcmp(action, "add") == 0) {
                        /* wait for sysfs */
index d41702e..60e63c5 100644 (file)
@@ -126,6 +126,9 @@ static int add_device(const char *path, const char *subsystem)
        udev_init_device(&udev, devpath, subsystem, "add");
        udev_add_device(&udev, class_dev);
 
+       if (udev.devname[0] != '\0')
+               setenv("DEVNAME", udev.devname, 1);
+
        if (udev_run && !list_empty(&udev.run_list)) {
                struct name_entry *name_loop;
 
@@ -135,10 +138,8 @@ static int add_device(const char *path, const char *subsystem)
        }
 
        /* run dev.d/ scripts if we created a node or changed a netif name */
-       if (udev_dev_d && udev.devname[0] != '\0') {
-               setenv("DEVNAME", udev.devname, 1);
+       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);