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:
@ -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).
|
||||
|
Reference in New Issue
Block a user