summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2011-01-20 18:44:06 +0100
committerLennart Poettering <lennart@poettering.net>2011-01-20 18:44:09 +0100
commitc06b7a15ea4bd9a6063eb16e1b4ee77ef05714b4 (patch)
treebdd11d415b9522184258c9e00acad3b574580c3c
parent26742b3fd8776c6c64e3c1035adc2599ddeb76d1 (diff)
service: don't allow reload operations for oneshot services
During starting of oneshot we are in START state which we don't want to combine with the RELOAD state, hence we disallow both at the same time.
-rw-r--r--src/service.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/service.c b/src/service.c
index 4115e52901..03a858a4ae 100644
--- a/src/service.c
+++ b/src/service.c
@@ -1029,6 +1029,12 @@ static int service_verify(Service *s) {
return -EINVAL;
}
+ if (s->type == SERVICE_ONESHOT &&
+ s->exec_command[SERVICE_EXEC_RELOAD]) {
+ log_error("%s has an ExecReload setting, which is not allowed for Type=oneshot services. Refusing.", s->meta.id);
+ return -EINVAL;
+ }
+
if (s->type == SERVICE_DBUS && !s->bus_name) {
log_error("%s is of type D-Bus but no D-Bus service name has been specified. Refusing.", s->meta.id);
return -EINVAL;