#!/bin/sh
#
# amavisd		Start/Stop the amavisd daemon.
#
# chkconfig:	345 40 60
#
# description:	amavisd is daemonized antivirus daemon
#
# processname:	amavisd
# config:	/etc/amavisd.conf
# pidfile:	/var/run/amavisd/amavisd.pid


# Source function library
. /etc/rc.d/init.d/functions

# Get service config
[ -f /etc/sysconfig/amavisd ] && . /etc/sysconfig/amavisd

start() {
	# Check if the service is already running?
	if [ ! -f /var/lock/subsys/amavisd ]; then
		msg_starting Amavisd
		LC_ALL= LANG= LC_TYPE= LC_CTYPE= daemon --pidfile /var/run/amavisd/amavisd.pid $SERVICE_RUN_NICE_LEVEL /usr/sbin/amavisd -c /etc/amavisd.conf
		RETVAL=$?
		[ $RETVAL -eq 0 ] && touch /var/lock/subsys/amavisd
	else
		msg_already_running Amavisd
	fi
}

stop() {
	# Stop daemons.
	if [ -f /var/lock/subsys/amavisd ]; then
		msg_stopping Amavisd
		killproc --pidfile /var/run/amavisd/amavisd.pid amavisd
		rm -f /var/lock/subsys/amavisd /var/run/amavisd/amavisd.pid >/dev/null 2>&1
	else
		msg_not_running Amavisd
	fi
}

RETVAL=0
# See how we were called.
case "$1" in
  start)
	start
	;;
  stop)
	stop
	;;
  status)
	status amavisd
	exit $?
	;;
  reload|force-reload)
	if [ -f /var/lock/subsys/amavisd ]; then
		msg_reloading Amavisd
		busy
		LC_ALL='' LANG='' LC_TYPE='' LC_CTYPE='' /usr/sbin/amavisd reload
		RETVAL=$?
		ok
		[ $RETVAL -ne 0 ] && RETVAL=7
	else
		msg_not_running Amavisd
		RETVAL=7
	fi
	;;
  restart|force-restart)
	stop
	start
	;;
  *)
	msg_usage "$0 {start|stop|restart|force-restart|reload|force-reload|status}"
	exit 3
esac

exit $RETVAL
