mirror of
https://github.com/MariaDB/server.git
synced 2025-01-30 10:31:54 +01:00
Change sleep_until_file_created to sleep 100 millisecond instead of sleeping 1 seconds between each iteration.
This commit is contained in:
parent
1b24bab882
commit
2f4f68be53
1 changed files with 14 additions and 8 deletions
|
@ -832,30 +832,36 @@ sub sleep_until_file_created ($$$) {
|
|||
my $pidfile= shift;
|
||||
my $timeout= shift;
|
||||
my $pid= shift;
|
||||
my $sleeptime= 100; # Milliseconds
|
||||
my $loops= ($timeout * 1000) / $sleeptime;
|
||||
|
||||
for ( my $loop= 1; $loop <= $timeout; $loop++ )
|
||||
for ( my $loop= 1; $loop <= $loops; $loop++ )
|
||||
{
|
||||
if ( -r $pidfile )
|
||||
{
|
||||
return $pid;
|
||||
}
|
||||
|
||||
# Check if it died after the fork() was successful
|
||||
if ( $pid > 0 && waitpid($pid,&WNOHANG) == $pid )
|
||||
# Check if it died after the fork() was successful
|
||||
if ( $pid != 0 && waitpid($pid,&WNOHANG) == $pid )
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
mtr_debug("Sleep 1 second waiting for creation of $pidfile");
|
||||
mtr_debug("Sleep $sleeptime milliseconds waiting for ".
|
||||
"creation of $pidfile");
|
||||
|
||||
if ( $loop % 60 == 0 )
|
||||
# Print extra message every 60 seconds
|
||||
my $seconds= ($loop * $sleeptime) / 1000;
|
||||
if ( $seconds > 1 and $seconds % 60 == 0 )
|
||||
{
|
||||
my $left= $timeout - $loop;
|
||||
mtr_warning("Waited $loop seconds for $pidfile to be created, " .
|
||||
my $left= $timeout - $seconds;
|
||||
mtr_warning("Waited $seconds seconds for $pidfile to be created, " .
|
||||
"still waiting for $left seconds...");
|
||||
}
|
||||
|
||||
sleep(1);
|
||||
# Millisceond sleep emulated with select
|
||||
select(undef, undef, undef, ($sleeptime/1000));
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Add table
Reference in a new issue