summaryrefslogtreecommitdiffstats
path: root/src/sysv
diff options
context:
space:
mode:
authorVictor Tapia <victor.tapia@canonical.com>2016-10-03 17:36:08 +0200
committerLukas Slebodnik <lslebodn@redhat.com>2017-01-09 16:40:32 +0100
commitd4063e9a21a4e203bee7e0a0144fa8cabb14cc46 (patch)
treec8ceea6b16ac45175f9520e794a20361a41349b0 /src/sysv
parentdfbbe39f49ba3f7ff64370fecef971f091214d47 (diff)
downloadsssd-d4063e9a21a4e203bee7e0a0144fa8cabb14cc46.tar.gz
sssd-d4063e9a21a4e203bee7e0a0144fa8cabb14cc46.tar.xz
sssd-d4063e9a21a4e203bee7e0a0144fa8cabb14cc46.zip
MONITOR: Create pidfile after responders started
Resolves: https://fedorahosted.org/sssd/ticket/3080 Signed-off-by: Lukas Slebodnik <lslebodn@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
Diffstat (limited to 'src/sysv')
-rw-r--r--src/sysv/sssd.in15
-rw-r--r--src/sysv/systemd/sssd.service.in8
2 files changed, 18 insertions, 5 deletions
diff --git a/src/sysv/sssd.in b/src/sysv/sssd.in
index 5109148ac..385785e02 100644
--- a/src/sysv/sssd.in
+++ b/src/sysv/sssd.in
@@ -40,6 +40,8 @@ SSSD=@sbindir@/sssd
LOCK_FILE=@localstatedir@/lock/subsys/sssd
PID_FILE=@localstatedir@/run/sssd.pid
+TIMEOUT=15
+
start() {
[ -x $SSSD ] || exit 5
echo -n $"Starting $prog: "
@@ -47,6 +49,19 @@ start() {
RETVAL=$?
echo
[ "$RETVAL" = 0 ] && touch $LOCK_FILE
+
+ # Wait for pidfile creation or timeout
+ sec=0
+ [ "$RETVAL" = 0 ] && while [ $sec -lt $TIMEOUT -a ! -f $PID_FILE ]
+ do
+ sleep 1
+ sec=$(($sec+1))
+ done
+
+ if [ "$sec" = "$TIMEOUT" ]; then
+ RETVAL=-1
+ fi
+
return $RETVAL
}
diff --git a/src/sysv/systemd/sssd.service.in b/src/sysv/systemd/sssd.service.in
index a4f9125b5..05cfd3705 100644
--- a/src/sysv/systemd/sssd.service.in
+++ b/src/sysv/systemd/sssd.service.in
@@ -6,11 +6,9 @@ Wants=nss-user-lookup.target
[Service]
EnvironmentFile=-@environment_file@
-ExecStart=@sbindir@/sssd -D -f
-# These two should be used with traditional UNIX forking daemons
-# consult systemd.service(5) for more details
-Type=forking
-PIDFile=@localstatedir@/run/sssd.pid
+ExecStart=@sbindir@/sssd -i -f
+Type=notify
+NotifyAccess=main
[Install]
WantedBy=multi-user.target