summaryrefslogtreecommitdiff
path: root/support-files
diff options
context:
space:
mode:
authormtaylor@qualinost.(none) <>2007-03-13 06:06:09 -0700
committermtaylor@qualinost.(none) <>2007-03-13 06:06:09 -0700
commit1c3f9ce727d7fea6c89b49f1497d935a39374eac (patch)
tree5eb0c8632e6758ff1558a7675e94c5a497762d03 /support-files
parentfee7ab58c6daaf14fc1bd63f9b954b2834671a5c (diff)
downloadmariadb-git-1c3f9ce727d7fea6c89b49f1497d935a39374eac.tar.gz
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.
Diffstat (limited to 'support-files')
-rw-r--r--support-files/mysql.server.sh10
1 files changed, 9 insertions, 1 deletions
diff --git a/support-files/mysql.server.sh b/support-files/mysql.server.sh
index 9258fcf10c2..65b56443eea 100644
--- a/support-files/mysql.server.sh
+++ b/support-files/mysql.server.sh
@@ -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')