chiark / gitweb /
fix typo in group assignment
[elogind.git] / udevstart.c
index 4e922bb716a734d21e94fd7b5f5f358a40d72c33..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, ...)
@@ -135,11 +136,11 @@ static int add_device(const char *path, const char *subsystem)
 
        udev_init_device(&udev, devpath, subsystem, "add");
        udev.devt = get_devt(class_dev);
-       if (!udev.devt) {
+       if (!udev.devt && udev.type != DEV_NET) {
                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;
@@ -337,7 +338,7 @@ int main(int argc, char *argv[], char *envp[])
 {
        struct sigaction act;
 
-       logging_init("udev");
+       logging_init("udevstart");
        udev_init_config();
        dbg("version %s", UDEV_VERSION);
 
@@ -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;
 }