diff options
author | cmiller@zippy.cornsilk.net <> | 2007-01-31 16:14:12 -0500 |
---|---|---|
committer | cmiller@zippy.cornsilk.net <> | 2007-01-31 16:14:12 -0500 |
commit | 5a0ac8afe71044cada67f1bed9c9dcae72b37689 (patch) | |
tree | 92a8480acf020e5cf0ff0099b9e3bcab8f68302c | |
parent | 50796a040ea10376901b4206471eb0b1c9bfc8be (diff) | |
parent | 24e3508b0e3d1ca10a5a8e9db102a506371ebb1c (diff) | |
download | mariadb-git-5a0ac8afe71044cada67f1bed9c9dcae72b37689.tar.gz |
Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug25341/my50-bug25341
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
-rw-r--r-- | BitKeeper/etc/collapsed | 6 | ||||
-rw-r--r-- | support-files/mysql.server.sh | 24 |
2 files changed, 24 insertions, 6 deletions
diff --git a/BitKeeper/etc/collapsed b/BitKeeper/etc/collapsed index 2c730ee5808..e92ccf9aa73 100644 --- a/BitKeeper/etc/collapsed +++ b/BitKeeper/etc/collapsed @@ -30,6 +30,12 @@ 4554b3722d71SbPiI2Gx-RhbZjmuIQ 4558b3d73Cxjlb7Wv1oytdSTthxDfw 45771031yRCoM_ZfONdYchPvVEgLRg +459a60d8rIxeTuhB3j_QsOwLGdcpng +459a61c9OS8PzIsdviZJDkybJ1y1uA +459a70691aYIfU2ohV0a3P5iTLpO2A +459a7422KF_P7PuU3YQ5qG6ZLEVpiA +459a74e4nRcXppMSBYeQQ5efDkTADg 45ae6628gqKTsUFfnoNExadETVIkbA 45ba4faf2oqu6eR8fqecR3LfSNcYUg 45ba5238-NKl80QVXzdGo8hO9M75Xg +45c0fdfb2mz6NdOIsLenJtf6_ZelTA diff --git a/support-files/mysql.server.sh b/support-files/mysql.server.sh index f5fa4e9ed9a..9258fcf10c2 100644 --- a/support-files/mysql.server.sh +++ b/support-files/mysql.server.sh @@ -143,11 +143,12 @@ parse_manager_arguments() { wait_for_pid () { i=0 - while test $i -lt 35 ; do + while test $i -lt 900 ; do sleep 1 case "$1" in 'created') test -s $pid_file && i='' && break + kill -0 $2 || break # if the program goes away, stop waiting ;; 'removed') test ! -s $pid_file && i='' && break @@ -163,8 +164,10 @@ wait_for_pid () { if test -z "$i" ; then log_success_msg + return 0 else log_failure_msg + return 1 fi } @@ -277,26 +280,28 @@ case "$mode" in # Give extra arguments to mysqld with the my.cnf file. This script may # be overwritten at next upgrade. $manager --user=$user --pid-file=$pid_file >/dev/null 2>&1 & - wait_for_pid created + wait_for_pid created $!; return_value=$? # Make lock for RedHat / SuSE if test -w /var/lock/subsys then touch /var/lock/subsys/mysqlmanager fi + exit $return_value elif test -x $bindir/mysqld_safe then # Give extra arguments to mysqld with the my.cnf file. This script # may be overwritten at next upgrade. pid_file=$server_pid_file $bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 & - wait_for_pid created + wait_for_pid created $!; return_value=$? # Make lock for RedHat / SuSE if test -w /var/lock/subsys then touch /var/lock/subsys/mysql fi + exit $return_value else log_failure_msg "Couldn't find MySQL manager or server" fi @@ -322,13 +327,14 @@ 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 removed + wait_for_pid removed; return_value=$? # delete lock for RedHat / SuSE if test -f $lock_dir then rm -f $lock_dir fi + exit $return_value else log_failure_msg "MySQL manager or server PID file could not be found!" fi @@ -337,8 +343,12 @@ case "$mode" in 'restart') # Stop the service and regardless of whether it was # running or not, start it again. - $0 stop $other_args - $0 start $other_args + if $0 stop $other_args; then + $0 start $other_args + else + log_failure_msg "Failed to stop running server, so refusing to try to start." + exit 1 + fi ;; 'reload') @@ -357,3 +367,5 @@ case "$mode" in exit 1 ;; esac + +exit 0 |