mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
BUG#26952: mysql.server needs to be able to not timeout in certain situations
For systems running MySQL through heartbeat, it is imperitive that the startup scripts not only return correct return values, but do not return until success or failure has been determined. This is a different behavior than is typically wanted for the startup of a normal machine. This patch adds support for a timeout variable for mysql.server. Read from my.cnf, this variable defaults to 900 (the current default). A value of 0 means not to wait at all for startup confirmation. A negative value means to wait forever.
This commit is contained in:
@@ -46,6 +46,13 @@
|
||||
basedir=
|
||||
datadir=
|
||||
|
||||
# Default value, in seconds, afterwhich the script should timeout waiting
|
||||
# for server start.
|
||||
# Value here is overriden by value in my.cnf.
|
||||
# 0 means don't wait at all
|
||||
# Negative numbers mean to wait indefinitely
|
||||
service_startup_timeout=900
|
||||
|
||||
# The following variables are only set for letting mysql.server find things.
|
||||
|
||||
# Set some defaults
|
||||
@@ -126,6 +133,7 @@ parse_server_arguments() {
|
||||
;;
|
||||
--user=*) user=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
|
||||
--pid-file=*) server_pid_file=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
|
||||
--service-startup-timeout=*) service_startup_timeout=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
|
||||
--use-mysqld_safe) use_mysqld_safe=1;;
|
||||
--use-manager) use_mysqld_safe=0;;
|
||||
esac
|
||||
@@ -143,7 +151,7 @@ parse_manager_arguments() {
|
||||
|
||||
wait_for_pid () {
|
||||
i=0
|
||||
while test $i -lt 900 ; do
|
||||
while test $i -ne $service_startup_timeout ; do
|
||||
sleep 1
|
||||
case "$1" in
|
||||
'created')
|
||||
|
||||
Reference in New Issue
Block a user