chiark / gitweb /
fix default-name handling and NAME="" rules
[elogind.git] / udevstart.c
index 22b781d52a6750da644ac0b3808292e48d3ce8d8..d9912466ca91f5f5aea9258d0237e7543dab317f 100644 (file)
@@ -47,6 +47,7 @@
 
 static const char *udev_run_str;
 static const char *udev_log_str;
+static struct udev_rules rules;
 
 #ifdef USE_LOG
 void log_message(int priority, const char *format, ...)
@@ -139,7 +140,7 @@ static int add_device(const char *path, const char *subsystem)
                dbg("sysfs_open_class_device_path failed");
                return -1;
        }
-       udev_rules_get_name(&udev, class_dev);
+       udev_rules_get_name(&rules, &udev, class_dev);
        if (udev.ignore_device) {
                dbg("device event will be ignored");
                goto exit;
@@ -358,13 +359,14 @@ int main(int argc, char *argv[], char *envp[])
        sigaction(SIGTERM, &act, NULL);
 
        /* trigger timeout to prevent hanging processes */
-       alarm(ALARM_TIMEOUT);
+       alarm(UDEV_ALARM_TIMEOUT);
 
-       udev_rules_init();
+       udev_rules_init(&rules, 1);
 
        udev_scan_block();
        udev_scan_class();
 
+       udev_rules_close(&rules);
        logging_close();
        return 0;
 }