X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fdevice.c;h=c7bc1e25e7bd5225a9ce089f79fb3244baf19be1;hb=d14ab08b29d5b0b3ead6e63ac8be472f273011f9;hp=70fac1b8b77a63a5d6c35858007b7b3e309506c5;hpb=bf5332d2bf2a1acbba9daacf40570a4addbd3411;p=elogind.git diff --git a/src/core/device.c b/src/core/device.c index 70fac1b8b..c7bc1e25e 100644 --- a/src/core/device.c +++ b/src/core/device.c @@ -268,7 +268,7 @@ static int device_update_unit(Manager *m, struct udev_device *dev, const char *p memcpy(e, w, l); e[l] = 0; - n = unit_name_mangle(e); + n = unit_name_mangle(e, MANGLE_NOGLOB); if (!n) { r = -ENOMEM; goto fail; @@ -303,10 +303,6 @@ static int device_process_new_device(Manager *m, struct udev_device *dev) { assert(m); - /* Don't pick up devices before udev finished initialization for them */ - if (!udev_device_get_is_initialized(dev)) - return 0; - sysfs = udev_device_get_syspath(dev); if (!sysfs) return 0; @@ -553,6 +549,10 @@ static int device_enumerate(Manager *m) { if (r < 0) goto fail; + r = udev_enumerate_add_match_is_initialized(e); + if (r < 0) + goto fail; + r = udev_enumerate_scan_devices(e); if (r < 0) goto fail; @@ -653,7 +653,6 @@ const UnitVTable device_vtable = { .sub_state_to_string = device_sub_state_to_string, .bus_interface = "org.freedesktop.systemd1.Device", - .bus_changing_properties = bus_device_changing_properties, .bus_vtable = bus_device_vtable, .following = device_following,