summaryrefslogtreecommitdiff
path: root/support-files/mysql.server.sh
diff options
context:
space:
mode:
Diffstat (limited to 'support-files/mysql.server.sh')
-rw-r--r--support-files/mysql.server.sh21
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