summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkay.sievers@vrfy.org <kay.sievers@vrfy.org>2004-11-23 04:47:06 +0100
committerGreg KH <gregkh@suse.de>2005-04-26 22:35:00 -0700
commit69d2dbd66fdd52b5ebbc6545ef693fdd3f0638ec (patch)
tree46b75ea96ef125d0c50bc1957595d55e36f50d6a
parent7a0643a93f53cd5e7a05ae3d0c384e9e3160a94f (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.c10
-rw-r--r--udev_start.c2
2 files changed, 10 insertions, 2 deletions
diff --git a/udev.c b/udev.c
index 78fe82cfbb..39c16c2e77 100644
--- a/udev.c
+++ b/udev.c
@@ -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();