diff options
author | kay.sievers@vrfy.org <kay.sievers@vrfy.org> | 2004-11-23 04:47:06 +0100 |
---|---|---|
committer | Greg KH <gregkh@suse.de> | 2005-04-26 22:35:00 -0700 |
commit | 69d2dbd66fdd52b5ebbc6545ef693fdd3f0638ec (patch) | |
tree | 46b75ea96ef125d0c50bc1957595d55e36f50d6a | |
parent | 7a0643a93f53cd5e7a05ae3d0c384e9e3160a94f (diff) |
[PATCH] export udev_log flag to the environment
Forked scripts and callouts may want to follow udev's configured behavior
and log only if udev is logging itself.
-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(); |