#!/bin/sh

PIDFILE=/var/run/tntnet.pid

start() {
	tntnet
}

stop() {
	[ -f $PIDFILE ] || return 1

	PID=`cat $PIDFILE`
	[ -f $PIDFILE ] && kill $PID

	if [ -f $PIDFILE ]; then
		sleep 1
		kill $PID 2>/dev/null
	fi

	if [ -f $PIDFILE ]; then
		sleep 1
		kill $PID 2>/dev/null
	fi

	[ ! -f $PIDFILE ]
}

case "$1" in
	start)
		echo -n "Start tntnet - "
		if [ -f $PIDFILE ] && ps `cat $PIDFILE`|grep -q tntnet
		then
			echo "tntnet already running"
		else
			if start
			then
				echo "ok"
			else
				echo "failed"
			fi
		fi
		;;

	stop)
		echo -n "Stop tntnet - "
		if [ ! -f $PIDFILE ]
		then
			echo "tntnet not running"
			exit 1
		fi

		if stop
		then
			echo "ok"
		else
			echo "failed"
		fi
		;;

	restart)
		echo -n "Restart tntnet - "
		stop
		if start
		then
			echo "ok"
		else
			echo "failed"
		fi
		;;

	reload)
		echo -n "Reload tntnet - "
		if [ ! -f $PIDFILE ]
		then
			echo -n "tntnet not running; start"
			if start
			then
				echo "ok"
			else
				echo "failed"
			fi
		else
			PID=`cat $PIDFILE`
			kill -HUP $PID
		fi
		echo "done"
		;;

	status)
		if [ ! -f $PIDFILE ]
		then
			echo tntnet not running
		elif ps `cat $PIDFILE` >/dev/null
		then
			echo tntnet running
		else
			echo tntnet unknown state
		fi
		;;

	*)
		echo "Usage: $0 start|stop|restart|status"
		;;
esac
