Hi,

> > Attached is a new diff; its untested (again...) because I'm short on
> no it isn't :)

/me detects a major usability issue with email. ;-)

Greetings,
Erich Schubert
-- 
    erich@(vitavonni.de|debian.org)    --    GPG Key ID: 4B3A135C   (o_
   There was never a good war or a bad peace. - Benjamin Franklin   //\
        Glück gleicht durch Höhe aus, was ihm an Länge fehlt.       V_/_
                        --- Robert Lee Frost
--- /usr/bin/mysqld_safe	2005-02-15 14:43:48.000000000 -0800
+++ mysqld_safe	2005-02-21 13:02:55.000000000 -0800
@@ -10,8 +10,6 @@
 # mysql.server works by first doing a cd to the base directory and from there
 # executing mysqld_safe
 
-trap '' 1 2 3 15			# we shouldn't let anyone kill us
-
 umask 007
 
 KILL_MYSQLD=1;
@@ -274,6 +272,13 @@
 fi
 
 #
+# From now on, we catch signals to do a proper shutdown of mysqld
+# when signalled to do so.
+#
+trap '/usr/bin/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf refresh' 1 # HUP
+trap '/usr/bin/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf shutdown' 2 3 15 # INT QUIT and TERM
+
+#
 # Uncomment the following lines if you want all tables to be automatically
 # checked and repaired during startup. You should add sensible key_buffer
 # and sort_buffer values to my.cnf to improve check performance or require
@@ -299,9 +304,9 @@
   rm -f $safe_mysql_unix_port $pid_file	# Some extra safety
   if test -z "$args"
   then
-    $NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-locking 2>&1 | $ERR_LOGGER -t mysqld
+    $NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-locking 2>&1 | $ERR_LOGGER -t mysqld & wait
   else
-    eval "$NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-locking $args 2>&1 | $ERR_LOGGER -t mysqld"
+    eval "$NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-locking $args 2>&1 | $ERR_LOGGER -t mysqld & wait"
   fi
   if test ! -f $pid_file		# This is removed if normal shutdown
   then

Reply via email to