From: Ross Lagerwall Date: Mon, 2 Nov 2015 11:17:38 +0000 (+0000) Subject: xenconsoled: Remove unexpected daemonize behavior X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=26d4eebee81e5537dc2a04b57968ff3afe35e446;p=people%2Fjulieng%2Fxen-unstable.git xenconsoled: Remove unexpected daemonize behavior Previously, xenconsoled's daemonize function would do nothing if its parent process is init (as it is under systemd but not sysv init). This is confusing. Instead, always daemonize when asked to, but use the "interactive" switch when running from the systemd service. Because a pidfile is only written when daemonizing, drop the pidfile parameters from the service file (systemd keeps track of the pids anyway). Signed-off-by: Ross Lagerwall Acked-by: Ian Jackson Acked-by: Wei Liu --- diff --git a/tools/console/daemon/utils.c b/tools/console/daemon/utils.c index dbb3b12516..644f6afbbf 100644 --- a/tools/console/daemon/utils.c +++ b/tools/console/daemon/utils.c @@ -52,10 +52,6 @@ void daemonize(const char *pidfile) int i; char buf[100]; - if (getppid() == 1) { - return; - } - if ((pid = fork()) > 0) { exit(0); } else if (pid == -1) { diff --git a/tools/hotplug/Linux/systemd/xenconsoled.service.in b/tools/hotplug/Linux/systemd/xenconsoled.service.in index cd282bf7ff..8e333b114e 100644 --- a/tools/hotplug/Linux/systemd/xenconsoled.service.in +++ b/tools/hotplug/Linux/systemd/xenconsoled.service.in @@ -10,10 +10,9 @@ Environment=XENCONSOLED_ARGS= Environment=XENCONSOLED_TRACE=none Environment=XENCONSOLED_LOG_DIR=@XEN_LOG_DIR@/console EnvironmentFile=@CONFIG_DIR@/@CONFIG_LEAF_DIR@/xencommons -PIDFile=@XEN_RUN_DIR@/xenconsoled.pid ExecStartPre=/bin/grep -q control_d /proc/xen/capabilities ExecStartPre=/bin/mkdir -p ${XENCONSOLED_LOG_DIR} -ExecStart=@sbindir@/xenconsoled --pid-file @XEN_RUN_DIR@/xenconsoled.pid --log=${XENCONSOLED_TRACE} --log-dir=${XENCONSOLED_LOG_DIR} $XENCONSOLED_ARGS +ExecStart=@sbindir@/xenconsoled -i --log=${XENCONSOLED_TRACE} --log-dir=${XENCONSOLED_LOG_DIR} $XENCONSOLED_ARGS [Install] WantedBy=multi-user.target