#!/bin/sh
WITHOUT_RC_COMPAT=1

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

EFILE=tk103-query
LOGFILE=/dev/null
PIDFILE=/var/run/tk103-query.pid
RETVAL=0
PIDNUM=0

if [ -r $PIDFILE ]; then PIDNUM=$(cat $PIDFILE); fi

start () {
	msg_starting $EFILE
	if [ $PIDNUM -ne 0 ];
	then
		ps p $PIDNUM >> /dev/null 2>&1
		if [ $? -eq 0 ];
		then
			passed
			echo
			RETVAL=1
			return $RETVAL
		fi
	fi
	$EFILE $EXTRAOPTIONS >> $LOGFILE 2>&1
	RETVAL=$?
	if [ $RETVAL -eq 0 ]; then success;
	else failure; fi
	echo
	RETVAL=$?
	return $RETVAL
}

stop () {
	msg_stopping $EFILE
	if [ $PIDNUM -eq 0 ];
	then
		passed
		echo
		RETVAL=1
		return $RETVAL
	fi
	ps p $PIDNUM >> /dev/null 2>&1
	if [ $? -ne 0 ];
	then
		passed
		echo
		rm $PIDFILE >> /dev/null 2>&1
		RETVAL=1
		return $RETVAL
	fi
	kill $PIDNUM >> /dev/null 2>&1
	RETVAL=$?
	if [ $RETVAL -eq 0 ]; then success;
	else failure; fi
	echo
	rm $PIDFILE >> /dev/null 2>&1
	return $RETVAL
}

restart () {
	stop
	PIDNUM=0
	if [ -r $PIDFILE ]; then PIDNUM=$(cat $PIDFILE); fi
	start
}

# See how we were called.
case "$1" in
	start)
		start
		;;
	stop)
		stop
		;;
	status)
		if [ $PIDNUM -ne 0 ];
		then
			ps p $PIDNUM >> /dev/null 2>&1
			RETVAL=$?
			if [ $RETVAL -eq 0 ]; then msg_already_running $EFILE;
			else msg_not_running $EFILE; fi
		else
			msg_not_running $EFILE;
			RETVAL=1
		fi
		echo
		;;
	restart)
		restart
		;;
	*)
		msg_usage "${0##*/} {start|stop|restart|status}"
		RETVAL=1

esac

exit $RETVAL
