Commit 2f4f68be authored by unknown's avatar unknown
Browse files

Change sleep_until_file_created to sleep 100 millisecond instead of sleeping 1...

Change sleep_until_file_created to sleep 100 millisecond instead of sleeping 1 seconds between each iteration.


parent 1b24bab8
Loading
Loading
Loading
Loading
+14 −8
Original line number Diff line number Diff line
@@ -832,8 +832,10 @@ 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 )
    {
@@ -841,21 +843,25 @@ sub sleep_until_file_created ($$$) {
    }

    # Check if it died after the fork() was successful
    if ( $pid > 0 && waitpid($pid,&WNOHANG) == $pid )
    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;