chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
core: when an already abandoned unit gets abandoned again generate a clean error
[elogind.git]
/
src
/
core
/
device.c
diff --git
a/src/core/device.c
b/src/core/device.c
index c93c94726de5ad34de6318290d3b12e097b7a965..c7bc1e25e7bd5225a9ce089f79fb3244baf19be1 100644
(file)
--- 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;
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;
if (!n) {
r = -ENOMEM;
goto fail;
@@
-303,14
+303,6
@@
static int device_process_new_device(Manager *m, struct udev_device *dev) {
assert(m);
assert(m);
-#if 0
- /* FIXME: this is always false for devices received from udev_monitor */
-
- /* Don't pick up devices before udev finished initialization for them */
- if (!udev_device_get_is_initialized(dev))
- return 0;
-#endif
-
sysfs = udev_device_get_syspath(dev);
if (!sysfs)
return 0;
sysfs = udev_device_get_syspath(dev);
if (!sysfs)
return 0;
@@
-557,6
+549,10
@@
static int device_enumerate(Manager *m) {
if (r < 0)
goto fail;
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;
r = udev_enumerate_scan_devices(e);
if (r < 0)
goto fail;
@@
-657,7
+653,6
@@
const UnitVTable device_vtable = {
.sub_state_to_string = device_sub_state_to_string,
.bus_interface = "org.freedesktop.systemd1.Device",
.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,
.bus_vtable = bus_device_vtable,
.following = device_following,