summaryrefslogtreecommitdiffstats
path: root/src/sysv/sssd.in
diff options
context:
space:
mode:
Diffstat (limited to 'src/sysv/sssd.in')
-rw-r--r--src/sysv/sssd.in15
1 files changed, 15 insertions, 0 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
}