From: kay.sievers@vrfy.org Date: Tue, 23 Nov 2004 03:47:06 +0000 (+0100) Subject: [PATCH] export udev_log flag to the environment X-Git-Tag: 047~45 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=69d2dbd66fdd52b5ebbc6545ef693fdd3f0638ec;p=systemd [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. --- diff --git a/udev.c b/udev.c index 78fe82cf..39c16c2e 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 c1d877fb..3e3062c0 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();