1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2025-09-16 09:06:18 +02:00

Cleaned up some time functions.

This commit is contained in:
David Steele
2015-01-25 12:20:12 -05:00
parent 9069c34e34
commit 6db49e1083
4 changed files with 27 additions and 22 deletions

View File

@@ -219,7 +219,7 @@ sub backup_thread_complete
}
# Sleep before trying again
sleep(.1);
hsleep(.1);
}
&log(DEBUG, 'all threads exited');

View File

@@ -8,16 +8,10 @@ use strict;
use warnings;
use Carp;
# use Scalar::Util;
# use Net::OpenSSH;
use File::Basename;
# use POSIX ':sys_wait_h';
# use Scalar::Util 'blessed';
#
use lib dirname($0) . '/../lib';
# use BackRest::Exception;
use BackRest::Utility;
# use BackRest::ProcessAsync;
####################################################################################################################################
# CONSTRUCTOR
@@ -73,7 +67,7 @@ sub complete
# Rejoin the threads
while ($iThreadComplete < $self->{iThreadTotal})
{
sleep(.1);
hsleep(.1);
# If a timeout has been defined, make sure we have not been running longer than that
if (defined($iTimeout))

View File

@@ -10,6 +10,7 @@ use Carp qw(confess longmess);
use Fcntl qw(:DEFAULT :flock);
use File::Path qw(remove_tree);
use Time::HiRes qw(usleep);
use File::Basename;
use JSON;
@@ -21,7 +22,7 @@ use Exporter qw(import);
our @EXPORT = qw(version_get
data_hash_build trim common_prefix wait_for_file file_size_format execute
log log_file_set log_level_set test_set test_get test_check
lock_file_create lock_file_remove
lock_file_create lock_file_remove hsleep
ini_save ini_load timestamp_string_get timestamp_file_string_get
TRACE DEBUG ERROR ASSERT WARN INFO OFF true false
TEST TEST_ENCLOSE TEST_MANIFEST_BUILD TEST_BACKUP_RESUME TEST_BACKUP_NORESUME);
@@ -75,7 +76,7 @@ use constant
# Test global variables
my $bTest = false;
my $iTestDelay;
my $fTestDelay;
####################################################################################################################################
# VERSION_GET
@@ -212,6 +213,16 @@ sub trim
return $strBuffer;
}
####################################################################################################################################
# hsleep - wrapper for usleep that takes seconds in fractions and returns time slept in ms
####################################################################################################################################
sub hsleep
{
my $fSecond = shift;
return usleep($fSecond * 1000000);
}
####################################################################################################################################
# WAIT_FOR_FILE
####################################################################################################################################
@@ -237,7 +248,7 @@ sub wait_for_file
return;
}
sleep(1);
hsleep(.1);
}
confess &log(ERROR, "could not find $strDir/$strRegEx after ${iSeconds} second(s)");
@@ -359,20 +370,20 @@ sub log_file_set
sub test_set
{
my $bTestParam = shift;
my $iTestDelayParam = shift;
my $fTestDelayParam = shift;
# Set defaults
$bTest = defined($bTestParam) ? $bTestParam : false;
$iTestDelay = defined($bTestParam) ? $iTestDelayParam : $iTestDelay;
$fTestDelay = defined($bTestParam) ? $fTestDelayParam : $fTestDelay;
# Make sure that a delay is specified in test mode
if ($bTest && !defined($iTestDelay))
if ($bTest && !defined($fTestDelay))
{
confess &log(ASSERT, 'iTestDelay must be provided when bTest is true');
}
# Test delay should be between 1 and 600 seconds
if (!($iTestDelay >= 0 && $iTestDelay <= 600))
if (!($fTestDelay >= 0 && $fTestDelay <= 600))
{
confess &log(ERROR, 'test-delay must be between 1 and 600 seconds');
}
@@ -498,9 +509,9 @@ sub log
{
*STDOUT->flush();
if ($iTestDelay > 0)
if ($fTestDelay > 0)
{
sleep($iTestDelay);
hsleep($fTestDelay);
}
}
}

View File

@@ -15,8 +15,8 @@ use File::Basename;
use File::Copy 'cp';
use File::stat;
use Fcntl ':mode';
use Time::HiRes qw(gettimeofday);
use DBI;
use Time::HiRes qw(gettimeofday usleep);
use lib dirname($0) . '/../lib';
use BackRest::Exception;
@@ -999,7 +999,7 @@ sub BackRestTestBackup_Test
if (!$oFile->exists(PATH_BACKUP_ARCHIVE, $strArchiveCheck))
{
sleep(1);
hsleep(1);
if (!$oFile->exists(PATH_BACKUP_ARCHIVE, $strArchiveCheck))
{
@@ -1644,7 +1644,7 @@ sub BackRestTestBackup_Test
# Sleep .5 seconds to give a reasonable amount of time for the file to be copied after the manifest was generated
# Sleep for a while to show there is a large window where this can happen
&log(INFO, 'time ' . gettimeofday());
usleep(.5 * 1000000);
hsleep(.5);
&log(INFO, 'time ' . gettimeofday());
# Insert another row
@@ -1736,7 +1736,7 @@ sub BackRestTestBackup_Test
# Sleep for a while to show there is a large window where this can happen
&log(INFO, 'time ' . gettimeofday());
usleep(.5 * 1000000);
hsleep(.5);
&log(INFO, 'time ' . gettimeofday());
# Modify the test file within the same second