1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Fix problem with detecting wheter im processes has shutdown cleanly

mysql-test/mysql-test-run.pl:
  Fix problem with checking that all im processes has shutdown cleanly
  When it was detected that one of "im mysqlds" didn't shutdown, last was called to break the loop, but it only broke the inner loop.
  Remove the while(0) loop and make this easier by setting $clean_shutdown to 0 if any such problem is detected.
This commit is contained in:
unknown
2006-07-26 10:35:08 +02:00
parent 62f7fc828f
commit 9229ce4cb6

View File

@ -3485,36 +3485,29 @@ sub im_stop($) {
}
}
# Check that all processes died.
# Check if all processes shutdown cleanly
my $clean_shutdown= 1; # Assum they did
my $clean_shutdown= 0;
while (1)
if (kill (0, $instance_manager->{'pid'}))
{
if (kill (0, $instance_manager->{'pid'}))
{
mtr_warning("IM-main is still alive.");
last;
}
mtr_warning("IM-main is still alive.");
$clean_shutdown= 0;
}
if (defined $instance_manager->{'angel_pid'} &&
kill (0, $instance_manager->{'angel_pid'}))
{
mtr_warning("IM-angel is still alive.");
last;
}
if (defined $instance_manager->{'angel_pid'} &&
kill (0, $instance_manager->{'angel_pid'}))
{
mtr_warning("IM-angel is still alive.");
$clean_shutdown= 0;
}
foreach my $pid (@mysqld_pids)
foreach my $pid (@mysqld_pids)
{
if (kill (0, $pid))
{
if (kill (0, $pid))
{
mtr_warning("Guarded mysqld ($pid) is still alive.");
last;
}
mtr_warning("Guarded mysqld ($pid) is still alive.");
$clean_shutdown= 0;
}
$clean_shutdown= 1;
last;
}
# Kill leftovers (the order is important).