summaryrefslogtreecommitdiff
path: root/src/core/dbus-service.c
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2016-12-13 22:30:07 -0500
committerGitHub <noreply@github.com>2016-12-13 22:30:07 -0500
commit9cf314f34d9ca26bb8867effdf54fc2c78b06f31 (patch)
tree62f00b1788b78f3ab19c5b14a5f98fc530c1bc18 /src/core/dbus-service.c
parent9ef4e1e5a2d0a9cc50406f1cae05f3918d6f0c2a (diff)
parentf59d1da8cd15d42b36fa5bab756cf4d144785e2b (diff)
Merge pull request #4727 from poettering/exec-bind
More namespace improvements
Diffstat (limited to 'src/core/dbus-service.c')
-rw-r--r--src/core/dbus-service.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/core/dbus-service.c b/src/core/dbus-service.c
index 61b83d2d62..85b67318ed 100644
--- a/src/core/dbus-service.c
+++ b/src/core/dbus-service.c
@@ -143,6 +143,29 @@ static int bus_service_set_transient_property(
return 1;
+ } else if (streq(name, "Restart")) {
+ ServiceRestart sr;
+ const char *v;
+
+ r = sd_bus_message_read(message, "s", &v);
+ if (r < 0)
+ return r;
+
+ if (isempty(v))
+ sr = SERVICE_RESTART_NO;
+ else {
+ sr = service_restart_from_string(v);
+ if (sr < 0)
+ return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid restart setting: %s", v);
+ }
+
+ if (mode != UNIT_CHECK) {
+ s->restart = sr;
+ unit_write_drop_in_private_format(UNIT(s), mode, name, "Restart=%s", service_restart_to_string(sr));
+ }
+
+ return 1;
+
} else if (STR_IN_SET(name,
"StandardInputFileDescriptor",
"StandardOutputFileDescriptor",