X-Git-Url: http://gitweb/?a=blobdiff_plain;f=mysql%2Fmysqld;h=eb9b74e06e23020e1f6094737e8285ea300a48d7;hb=199f2d02e83263076bcf3cca183c01556e22b596;hp=4775f33f00b097b179f2f075d95349e22a7ae882;hpb=825e3023e51a748f9bf49a6b4528ee2c07931c36;p=ports%2Fopt-arm.git

diff --git a/mysql/mysqld b/mysql/mysqld
index 4775f33..eb9b74e 100644
--- a/mysql/mysqld
+++ b/mysql/mysqld
@@ -3,28 +3,35 @@
 # /etc/rc.d/mysqld: start/stop mysqld daemon
 #
 
+SSD=/sbin/start-stop-daemon
+PROG=/usr/sbin/mysqld
 MYSQL_CFG=/etc/my.cnf
-
-MYSQL_PID=`sed -n 's/^pid-file[ \t]*=[ \t]*//p' $MYSQL_CFG`
-MYSQL_USR=`sed -n 's/^user[ \t]*=[ \t]*//p' $MYSQL_CFG`
+PID=$(sed -n 's/^pid-file[ \t]*=[ \t]*//p' $MYSQL_CFG)
+USR=$(sed -n 's/^user[ \t]*=[ \t]*//p' $MYSQL_CFG)
 
 case $1 in
 start)
-	touch $MYSQL_PID
-	chown $MYSQL_USR $MYSQL_PID
-	/usr/sbin/mysqld &
+	touch $PID && chown $USR:$USR $PID
+	$SSD --start --background --pidfile $PID --exec $PROG
 	;;
 stop)
-	killall -q /usr/sbin/mysqld 
-	rm $MYSQL_PID
+	$SSD --stop --remove-pidfile --retry 10 --pidfile $PID
 	;;
 restart)
 	$0 stop
-	sleep 2
 	$0 start
 	;;
+status)
+	$SSD --status --pidfile $PID
+	case $? in
+	0) echo "$PROG is running with pid $(cat $PID)" ;;
+	1) echo "$PROG is not running but the pid file $PID exists" ;;
+	3) echo "$PROG is not running" ;;
+	4) echo "Unable to determine the program status" ;;
+	esac
+	;;
 *)
-	echo "usage: $0 [start|stop|restart]"
+	echo "usage: $0 [start|stop|restart|status]"
 	;;
 esac