diff options
author | Victor Tapia <victor.tapia@canonical.com> | 2016-10-03 17:36:08 +0200 |
---|---|---|
committer | Lukas Slebodnik <lslebodn@redhat.com> | 2017-01-09 16:40:32 +0100 |
commit | d4063e9a21a4e203bee7e0a0144fa8cabb14cc46 (patch) | |
tree | c8ceea6b16ac45175f9520e794a20361a41349b0 /src/sysv | |
parent | dfbbe39f49ba3f7ff64370fecef971f091214d47 (diff) | |
download | sssd-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.in | 15 | ||||
-rw-r--r-- | src/sysv/systemd/sssd.service.in | 8 |
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 |