From dbbe069019f25bb93de43f3d966c642c1af82e2f Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 31 Mar 2005 14:25:03 +0400 Subject: Bug #9507 /etc/init.d/mysql script does not stop mysqld correctly wait_for_pid function is fixed to wait for pid removal in "stop". recomitted with post-review fix support-files/mysql.server.sh: wait_for_pid function corrected to work properly with start/stop --- support-files/mysql.server.sh | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/support-files/mysql.server.sh b/support-files/mysql.server.sh index aafd3f8f187..376d9051b10 100644 --- a/support-files/mysql.server.sh +++ b/support-files/mysql.server.sh @@ -90,7 +90,18 @@ wait_for_pid () { i=0 while test $i -lt 35 ; do sleep 1 - test -s $pid_file && i='' && break + case "$1" in + 'created') + test -s $pid_file && i='' && break + ;; + 'removed') + test ! -s $pid_file && i='' && break + ;; + *) + echo "wait_for_pid () usage: wait_for_pid created|removed" + exit 1 + ;; + esac echo $echo_n ".$echo_c" i=`expr $i + 1` done @@ -180,7 +191,7 @@ case "$mode" in # be overwritten at next upgrade. echo $echo_n "Starting MySQL" $bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file >/dev/null 2>&1 & - wait_for_pid + wait_for_pid created # Make lock for RedHat / SuSE if test -w /var/lock/subsys @@ -201,7 +212,7 @@ case "$mode" in echo $echo_n "Shutting down MySQL" kill $mysqld_pid # mysqld should remove the pid_file when it exits, so wait for it. - wait_for_pid + wait_for_pid removed # delete lock for RedHat / SuSE if test -f /var/lock/subsys/mysql -- cgit v1.2.1