summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/service.c5
-rw-r--r--src/service.h2
-rw-r--r--units/emergency.service3
-rw-r--r--units/fedora/prefdm.service1
-rw-r--r--units/fedora/rc-local.service1
-rw-r--r--units/gentoo/xdm.service1
-rw-r--r--units/getty@.service.m41
-rw-r--r--units/systemd-initctl.service.in1
-rw-r--r--units/systemd-logger.service.in1
9 files changed, 4 insertions, 12 deletions
diff --git a/src/service.c b/src/service.c
index 8ff7b73138..2ce95f5a9f 100644
--- a/src/service.c
+++ b/src/service.c
@@ -340,9 +340,6 @@ static int service_load_sysv_path(Service *s, const char *path) {
goto finish;
}
- s->type = SERVICE_FORKING;
- s->restart = SERVICE_ONCE;
-
free(s->sysv_path);
if (!(s->sysv_path = strdup(path))) {
r = -ENOMEM;
@@ -650,8 +647,10 @@ static int service_load_sysv_path(Service *s, const char *path) {
s->timeout_usec = 0;
/* Special setting for all SysV services */
+ s->type = SERVICE_FORKING;
s->valid_no_process = true;
s->kill_mode = KILL_PROCESS_GROUP;
+ s->restart = SERVICE_ONCE;
u->meta.load_state = UNIT_LOADED;
r = 0;
diff --git a/src/service.h b/src/service.h
index 40bd57e256..5242de58fa 100644
--- a/src/service.h
+++ b/src/service.h
@@ -56,8 +56,8 @@ typedef enum ServiceRestart {
} ServiceRestart;
typedef enum ServiceType {
- SERVICE_FORKING, /* forks by itself (i.e. traditional daemons) */
SERVICE_SIMPLE, /* we fork and go on right-away (i.e. modern socket activated daemons) */
+ SERVICE_FORKING, /* forks by itself (i.e. traditional daemons) */
SERVICE_FINISH, /* we fork and wait until the program finishes (i.e. programs like fsck which run and need to finish before we continue) */
SERVICE_DBUS, /* we fork and wait until a specific D-Bus name appears on the bus */
_SERVICE_TYPE_MAX,
diff --git a/units/emergency.service b/units/emergency.service
index 3cbca3d012..924723fefe 100644
--- a/units/emergency.service
+++ b/units/emergency.service
@@ -12,8 +12,7 @@ Description=Emergency Shell
[Service]
ExecStart=/bin/sh
-Type=simple
StandardInput=tty
Restart=restart-always
RestartSec=0
-KillMode=process
+KillMode=process-group
diff --git a/units/fedora/prefdm.service b/units/fedora/prefdm.service
index 291910239f..3428026c54 100644
--- a/units/fedora/prefdm.service
+++ b/units/fedora/prefdm.service
@@ -14,4 +14,3 @@ Conflicts=shutdown.target
[Service]
ExecStart=/etc/X11/prefdm -nodaemon
-Type=simple
diff --git a/units/fedora/rc-local.service b/units/fedora/rc-local.service
index cb0700700b..bd67aab62e 100644
--- a/units/fedora/rc-local.service
+++ b/units/fedora/rc-local.service
@@ -17,7 +17,6 @@ Names=rc-local.service local.service
[Service]
ExecStart=/etc/rc.local start
-Type=simple
TimeoutSec=0
StandardInput=tty
ValidNoProcess=yes
diff --git a/units/gentoo/xdm.service b/units/gentoo/xdm.service
index 8370ef24f8..ac1df75722 100644
--- a/units/gentoo/xdm.service
+++ b/units/gentoo/xdm.service
@@ -14,4 +14,3 @@ Conflicts=shutdown.target
[Service]
ExecStart=/etc/init.d/xdm start
-Type=simple
diff --git a/units/getty@.service.m4 b/units/getty@.service.m4
index 20ee6e90f7..1ada4ffd01 100644
--- a/units/getty@.service.m4
+++ b/units/getty@.service.m4
@@ -18,7 +18,6 @@ Conflicts=shutdown.target
[Service]
Environment=TERM=linux
-Type=simple
ExecStart=GETTY %I
Restart=restart-always
RestartSec=0
diff --git a/units/systemd-initctl.service.in b/units/systemd-initctl.service.in
index 6c93653808..7450e07e61 100644
--- a/units/systemd-initctl.service.in
+++ b/units/systemd-initctl.service.in
@@ -12,4 +12,3 @@ Description=systemd /dev/initctl Compatibility Daemon
[Service]
ExecStart=@rootlibexecdir@/systemd-initctl
-Type=simple
diff --git a/units/systemd-logger.service.in b/units/systemd-logger.service.in
index 5fc0532033..2004438971 100644
--- a/units/systemd-logger.service.in
+++ b/units/systemd-logger.service.in
@@ -13,4 +13,3 @@ After=@SPECIAL_SYSLOG_SERVICE@
[Service]
ExecStart=@rootlibexecdir@/systemd-logger
-Type=simple