Here is a patch applied in Ubuntu that adresses the issue.

The problem comes from the fact that mysqld_safe starts mysqld and then
waits for its crash. However installing a trap for SIGHUP makes the wait
command return immediately when a SIGHUP is received by mysqld_safe.
This leads mysqld_safe to proceed and kill the remaining mysqld process
(which hasn't crashed). The proposed fix is to add a wait command to the
trap.

More information can be found in the Ubuntu bug:
https://bugs.launchpad.net/ubuntu/+source/mysql-dfsg-5.0/+bug/326768

-- 
Mathias Gug
Ubuntu Developer  http://www.ubuntu.com
diff -u mysql-dfsg-5.0-5.1.30really5.0.75/debian/patches/38_scripts__mysqld_safe.sh__signals.dpatch mysql-dfsg-5.0-5.1.30really5.0.75/debian/patches/38_scripts__mysqld_safe.sh__signals.dpatch
--- mysql-dfsg-5.0-5.1.30really5.0.75/debian/patches/38_scripts__mysqld_safe.sh__signals.dpatch
+++ mysql-dfsg-5.0-5.1.30really5.0.75/debian/patches/38_scripts__mysqld_safe.sh__signals.dpatch
@@ -24,7 +24,7 @@
 +# 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 refresh & wait' 1 # HUP
 +trap '/usr/bin/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf shutdown' 2 3 15 # INT QUIT and TERM
 +
 +#

Attachment: signature.asc
Description: Digital signature

Reply via email to