From: Lennart Poettering Date: Wed, 2 Jun 2010 17:15:42 +0000 (+0200) Subject: service: change default service type to 'simple' since that is the future X-Git-Tag: 0.git+20100605+dfd8ee-1~9^2^2~24 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1f48cf56cb2693b84fdc76dc8df0b048ed50ef43;p=systemd service: change default service type to 'simple' since that is the future --- diff --git a/src/service.c b/src/service.c index 8ff7b731..2ce95f5a 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 40bd57e2..5242de58 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 3cbca3d0..924723fe 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 29191023..3428026c 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 cb070070..bd67aab6 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 8370ef24..ac1df757 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 20ee6e90..1ada4ffd 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 6c936538..7450e07e 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 5fc05320..20044389 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