Commit 0d0c6ba6 authored by unknown's avatar unknown
Browse files

Merge mysql.com:/space/my/mysql-4.1

into mysql.com:/space/my/mysql-4.1-build

parents f5688932 8418e31f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -57,7 +57,7 @@ unlink $temp or warn "Unable to remove tempfile ($!)\n";
# First get some info
$fullname =~ s,/+$,,;             # Remove ending slash if any

$fullname =~ /^((mysql)-\w+-?\w+?)-([\d\.]+\w?)-.+$/
$fullname =~ /^((mysql)(?:-\w+){1,3})-([\d\.]+\w?)-.+$/
  or die "This name is not what I expected - \"$fullname\"";

$default{"name"}= $2;
+44 −17
Original line number Diff line number Diff line
@@ -54,6 +54,17 @@ else
  bindir="$basedir/bin"
fi

#
# Use LSB init script functions for printing messages, if possible
#
lsb_functions="/lib/lsb/init-functions"
if test -f $lsb_functions ; then
  source $lsb_functions
else
  alias log_success_msg="echo \ SUCCESS! "
  alias log_failure_msg="echo \ ERROR! "
fi

PATH=/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin
export PATH

@@ -75,6 +86,20 @@ parse_arguments() {
  done
}

wait_for_pid () {
  for((i=0; i<35; i++)); do
    sleep 1
    test -s $pid_file && i='' && break
    echo $echo_n ".$echo_c"
  done

  if test -z "$i" ; then
    log_success_msg
  else
    log_failure_msg
  fi
}

# Get arguments from the my.cnf file,
# groups [mysqld] [mysql_server] and [mysql.server]
if test -x ./bin/my_print_defaults
@@ -151,14 +176,17 @@ case "$mode" in
    then
      # Give extra arguments to mysqld with the my.cnf file. This script may
      # be overwritten at next upgrade.
      echo $echo_n "Starting MySQL"
      $bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file >/dev/null 2>&1 &
      wait_for_pid
      
      # Make lock for RedHat / SuSE
      if test -w /var/lock/subsys
      then
        touch /var/lock/subsys/mysql
      fi
    else
      echo "Can't execute $bindir/mysqld_safe from dir $basedir"
      log_failure_msg "Can't execute $bindir/mysqld_safe"
    fi
    ;;

@@ -168,29 +196,18 @@ case "$mode" in
    if test -s "$pid_file"
    then
      mysqld_pid=`cat $pid_file`
      echo "Killing mysqld with pid $mysqld_pid"
      echo $echo_n "Shutting down MySQL"
      kill $mysqld_pid
      # mysqld should remove the pid_file when it exits, so wait for it.
      wait_for_pid

      sleep 1
      while [ -s $pid_file -a "$flags" != aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ]
      do
	[ -z "$flags" ] && echo $echo_n "Wait for mysqld to exit$echo_c" || echo $echo_n ".$echo_c"
        flags=a$flags
        sleep 1
      done
      if [ -s $pid_file ]
         then echo " gave up waiting!"
      elif [ -n "$flags" ]
         then echo " done"
      fi
      # delete lock for RedHat / SuSE
      if test -f /var/lock/subsys/mysql
      then
        rm -f /var/lock/subsys/mysql
      fi
    else
      echo "No mysqld pid file found. Looked for $pid_file."
      log_failure_msg "MySQL PID file could not be found!"
    fi
    ;;

@@ -201,9 +218,19 @@ case "$mode" in
    $0 start
  ;;

  'reload')
    if test -s "$pid_file" ; then
      mysqld_pid=`cat $pid_file`
      kill -HUP $mysqld_pid && log_success_msg "Reloading service MySQL"
      touch $pid_file
    else
      log_failure_msg "MySQL PID file could not be found!"
    fi
  ;;

  *)
    # usage
    echo "Usage: $0 start|stop|restart"
    echo "Usage: $0 start|stop|restart|reload"
    exit 1
    ;;
esac