#!/bin/sh
# /etc/init.d/pgpool
# chkconfig:    2345 90 14
# description:  Starts and stops the pgpool daemon.
# processname: pgpool
# Do not load RH compatibility interface.
WITHOUT_RC_COMPAT=1
# Source function library.
. /etc/init.d/functions

PIDFILE=/var/run/pgpool/pgpool.pid
LOCKFILE=/var/lock/subsys/pgpool
RETVAL=0

start()
{
   action "Starting pgpool:" "su -s /bin/sh -c '/usr/bin/pgpool -n 2>&1|logger -t pgpool -p local0.info &' postgres"
   RETVAL=$?
   [ $RETVAL -eq 0 ] && touch "$LOCKFILE"
   return $RETVAL
}

stop()
{
   action "Stopping pgpool:" 'su -s /bin/sh -c "/usr/bin/pgpool -m fast stop" postgres'
   RETVAL=$?
   [ $RETVAL -eq 0 ] && rm -f "$LOCKFILE"
   return $RETVAL
}

restart()
{
   stop
   start
}

reload()
{
	msg_reloading pgpool
	if /bin/su -s /bin/sh -c "/bin/kill -HUP $(/bin/cat $PIDFILE)" postgres 2> /dev/null > /dev/null; then
			echo_success
	else
			echo_failure
	fi
	echo
}

case "$1" in
   start)
   	start
   ;;
   stop)
   	stop
   ;;
   restart)
   	restart
    ;;
   reload)
   	reload
   ;;
   condrestart)
   if [ -e "$LOCKFILE" ]; then
		   restart
   fi
   ;;
   condreload)
   if [ -e "$LOCKFILE" ]; then
		   reload
   fi
   ;;
   *)
    msg_usage "${0##*/} {start|stop|restart|reload|condrestart|condreload}"
    RETVAL=1
esac

exit $RETVAL
