#!/bin/bash
#
# chkconfig: 2345 97 03
# description: MemcacheQ fast queue manager
# processname: /usr/bin/memcacheq
# pidfile: /var/run/memcacheq/memcacheq.pid
#
# probe: true

WITHOUT_RC_COMPAT=1

. /etc/init.d/functions

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

# Default parameters
LISTEN_ADDR=127.0.0.1
TCP_PORT=22201
BDB_CACHE=128
BDB_PAGE=8192
MSG_SIZE=4096

SourceIfExists /etc/sysconfig/memcacheq

start()
{
	[ -n "$ULIMIT_ARGS" ] && ulimit $ULIMIT_ARGS
	start_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user memcacheq --name memcacheq -- memcacheq -u memcacheq -P "$PIDFILE" -H /var/lib/memcacheq -l "$LISTEN_ADDR" -p "$TCP_PORT" -m "$BDB_CACHE" -B "$MSG_SIZE" -A "$BDB_PAGE" -d
	RETVAL=$?
	return $RETVAL
}

stop()
{
	stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user memcacheq --name memcacheq -- memcacheq
	RETVAL=$?
	return $RETVAL
	rm -f $PIDFILE
}

restart()
{
	stop
	start
	RETVAL=$?
	return $RETVAL
}


# See how we were called.
case "$1" in
	start)
		RETVAL=$?
		[ $RETVAL -eq 0 ] && start ||:
		;;
	stop)
		stop
		;;
	restart)
		stop
		start
		;;
	status)
		status --lockfile "$LOCKFILE" --pidfile "$PIDFILE" --expect-user memcacheq -- memcacheq
		RETVAL=$?
		;;
	condstop)
		if [ -e "$LOCKFILE" ]; then
			stop
		fi
		;;
	condrestart)
		if [ -e "$LOCKFILE" ]; then
			restart
		fi
		;;
	*)
		msg_usage "memcacheq {start|stop|restart|status|condstop|condrestart}"
		RETVAL=1
esac

exit $RETVAL

