X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=udevstart.c;h=4ef92fd537cc3dde1521f13c1dbd698f370397cd;hp=22b781d52a6750da644ac0b3808292e48d3ce8d8;hb=8bd41f36f793f7fc208ef6beb4b2b84e35a5e728;hpb=6369839195d7572151d986ddc2050162e6879585 diff --git a/udevstart.c b/udevstart.c index 22b781d52..4ef92fd53 100644 --- a/udevstart.c +++ b/udevstart.c @@ -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; @@ -360,11 +361,12 @@ int main(int argc, char *argv[], char *envp[]) /* trigger timeout to prevent hanging processes */ alarm(ALARM_TIMEOUT); - udev_rules_init(); + udev_rules_init(&rules, 1); udev_scan_block(); udev_scan_class(); + udev_rules_close(&rules); logging_close(); return 0; }