# svscan - runlevel compatibility
# WARNING: This file was auto-generated. Do not edit!
#
# $Log: upstart.in,v $
# Revision 1.10  2020-10-09 17:33:00+05:30  Cprogrammer
# use conf-prefix, conf-servicedir for configuring paths
#
# Revision 1.9  2020-10-08 22:56:36+05:30  Cprogrammer
# use variables from Makefile
#
# Revision 1.8  2017-03-09 21:54:17+05:30  Cprogrammer
# FHS compliance
#
# Revision 1.7  2016-06-03 09:58:58+05:30  Cprogrammer
# moved svscan to sbin
#
# Revision 1.6  2016-05-17 23:11:42+05:30  Cprogrammer
# fix for configurable control directory
#
# Revision 1.5  2011-05-26 23:28:11+05:30  Cprogrammer
# fix for new upstart
#
# Revision 1.4  2010-07-22 19:01:16+05:30  Cprogrammer
# handle upstart bug on shutdown (svscan getting respawned)
#
# Revision 1.3  2008-09-08 15:24:34+05:30  Cprogrammer
# use the shorter notation for denoting multiple run levels
#
# Revision 1.2  2008-07-25 16:56:09+05:30  Cprogrammer
# added respawn
#
# Revision 1.1  2008-06-24 22:23:35+05:30  Cprogrammer
# Initial revision
#
# Start daemontools watcher
# console output, owner, none
# to start - initctl emit qmailstart
# to stop  - initctl emit qmailstop
# start svscan
# stop  svscan
# $Id: upstart.in,v 1.10 2020-10-09 17:33:00+05:30 Cprogrammer Exp mbhangui $
description "Start IndiMail Services"
author      "$Author: Cprogrammer $"
version     "$Revision: 1.10 $"

umask 022

start on ((net-device-up and local-filesystems and runlevel [2345])
		or qmailstart)
stop on (runlevel [016r] or starting shutdown or qmailstop)

#console none
emits indimail

# The default of 5 seconds is too low for mysql which needs to flush buffers
kill timeout 300
normal exit 0 TERM

respawn
respawn limit 10 5

pre-start script
	if [ -d /var/lock/subsys ] ; then
		touch /var/lock/subsys/svscan
	else
		touch /tmp/svscan
	fi
end script

script
	if [ -d /var/lock/subsys ] ; then
		while true
		do
			if [ -f /var/lock/subsys/svscan ] ; then
				break;
			fi
			sleep 5
		done
	fi
	PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin
	if [ " $CONTROLDIR" = " " ] ; then
		CONTROLDIR="/etc/indimail/control"
	fi
	slash=`echo $CONTROLDIR | cut -c1`
	if [ ! " $slash" = " /" ] ; then
		cd SYSCONFDIR
	fi
	if [ -f  $CONTROLDIR/scaninterval ] ; then
		SCANINTERVAL=`cat $CONTROLDIR/scaninterval`
	else
		SCANINTERVAL=300
	fi
	cd /
	/usr/bin/svc -dx /service/* /service/*/log /service/.svscan/log || true
	exec env - PATH=$PATH SCANINTERVAL=$SCANINTERVAL SCANLOG="" \
		/usr/sbin/svscan /service 2>&1
end script

pre-stop script
	/usr/bin/svc -dx /service/* || true
	sleep 5
end script

post-stop script
	if [ -d /var/lock/subsys ] ; then
		rm -f /var/lock/subsys/svscan
	else
		rm -f /tmp/svscan
	fi
end script
