diff options
Diffstat (limited to 'support-files/mysql.server.sh')
-rw-r--r-- | support-files/mysql.server.sh | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/support-files/mysql.server.sh b/support-files/mysql.server.sh index 9e5c7ea6983..2735ad91c6e 100644 --- a/support-files/mysql.server.sh +++ b/support-files/mysql.server.sh @@ -99,10 +99,23 @@ parse_manager_arguments() { } wait_for_pid () { - for((i=0; i<35; i++)); do + 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 if test -z "$i" ; then @@ -196,7 +209,7 @@ case "$mode" in # be overwritten at next upgrade. echo $echo_n "Starting MySQL" $sbindir/mysqlmanager $USER_OPTION --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 @@ -217,7 +230,7 @@ case "$mode" in echo $echo_n "Shutting down MySQL" kill $mysqlmanager_pid # mysqlmanager 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/mysqlmanager |