diff options
-rw-r--r-- | src/core/dbus-unit.c | 9 | ||||
-rw-r--r-- | src/shared/bus-unit-util.c | 6 |
2 files changed, 6 insertions, 9 deletions
diff --git a/src/core/dbus-unit.c b/src/core/dbus-unit.c index 4650df4d1c..ee013e1bc5 100644 --- a/src/core/dbus-unit.c +++ b/src/core/dbus-unit.c @@ -2437,10 +2437,6 @@ int bus_unit_set_properties( if (r < 0) return r; - if (!UNIT_VTABLE(u)->bus_set_property) - return sd_bus_error_setf(error, SD_BUS_ERROR_PROPERTY_READ_ONLY, - "Objects of this type do not support setting properties."); - r = sd_bus_message_enter_container(message, 'v', NULL); if (r < 0) return r; @@ -2448,7 +2444,10 @@ int bus_unit_set_properties( /* If not for real, then mask out the two target flags */ f = for_real ? flags : (flags & ~(UNIT_RUNTIME|UNIT_PERSISTENT)); - r = UNIT_VTABLE(u)->bus_set_property(u, name, message, f, error); + if (UNIT_VTABLE(u)->bus_set_property) + r = UNIT_VTABLE(u)->bus_set_property(u, name, message, f, error); + else + r = 0; if (r == 0 && u->transient && u->load_state == UNIT_STUB) r = bus_unit_set_transient_property(u, name, message, f, error); if (r == 0) diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c index edc2cfa937..2bf0d855b1 100644 --- a/src/shared/bus-unit-util.c +++ b/src/shared/bus-unit-util.c @@ -2640,12 +2640,10 @@ int bus_append_unit_property_assignment(sd_bus_message *m, UnitType t, const cha case UNIT_TARGET: case UNIT_DEVICE: case UNIT_SWAP: - return log_error_errno(SYNTHETIC_ERRNO(EINVAL), - "Not supported unit type"); + break; default: - return log_error_errno(SYNTHETIC_ERRNO(EINVAL), - "Invalid unit type"); + assert_not_reached(); } r = bus_append_unit_property(m, field, eq); |