diff options
-rw-r--r-- | udev.c | 10 | ||||
-rw-r--r-- | udev_start.c | 2 |
2 files changed, 10 insertions, 2 deletions
@@ -81,6 +81,10 @@ int main(int argc, char *argv[], char *envp[]) logging_init("udev"); udev_init_config(); + /* export logging flag, callouts may want to do the same as udev */ + if (udev_log) + setenv("UDEV_LOG", "1", 1); + if (strstr(argv[0], "udevstart") || (argv[1] != NULL && strstr(argv[1], "udevstart"))) { act_type = UDEVSTART; } else { @@ -143,7 +147,11 @@ int main(int argc, char *argv[], char *envp[]) switch(act_type) { case UDEVSTART: dbg("udevstart"); + + /* disable all logging as it's much too slow on some facilities */ udev_log = 0; + unsetenv("UDEV_LOG"); + namedev_init(); retval = udev_start(); break; @@ -155,7 +163,7 @@ int main(int argc, char *argv[], char *envp[]) class_dev = sysfs_open_class_device_path(path); if (class_dev == NULL) { dbg ("sysfs_open_class_device_path failed"); - break; + goto exit; } dbg("opened class_dev->name='%s'", class_dev->name); diff --git a/udev_start.c b/udev_start.c index c1d877fb37..3e3062c019 100644 --- a/udev_start.c +++ b/udev_start.c @@ -291,7 +291,7 @@ int udev_start(void) { /* set environment for callouts and dev.d/ */ setenv("ACTION", "add", 1); - setenv("UDEVSTART", "1", 1); + setenv("UDEV_START", "1", 1); udev_scan_class(); udev_scan_block(); |