Cvs-Trigger
view release on metacpan or search on metacpan
lib/Cvs/Trigger.pm view on Meta::CPAN
#2006/04/08 13:29:11 pid=20645 ppid=20644
#
###########################################
sub _cache_set {
###########################################
my($self, $repo_dir, @files) = @_;
my $ppid = getppid();
my $cdata = $self->_cache_get();
for my $file (@files) {
DEBUG "Caching $repo_dir/$file under ppid=$ppid";
push @{ $cdata->{$repo_dir} }, $file;
}
$cdata->{_ttl} += 1;
DEBUG "Setting $ppid cache to ", Dumper($cdata);
$self->{file_cache}->set($ppid, freeze $cdata);
}
###########################################
sub _cache_ttl_dec {
###########################################
my($self) = @_;
my $ppid = getppid();
my $cdata = $self->_cache_get();
$cdata->{_ttl}--;
$self->{file_cache}->set($ppid, freeze $cdata);
return $cdata->{_ttl};
}
###########################################
sub _cache_get {
###########################################
my($self) = @_;
my $ppid = getppid();
my $cdata;
if(my $c = $self->{file_cache}->get($ppid)) {
DEBUG "Cache hit on ppid=$ppid";
$cdata = thaw $c;
} else {
DEBUG "Cache miss on ppid=$ppid";
$cdata = { _ttl => 0 };
}
return $cdata;
}
###########################################
package Cvs::Temp;
###########################################
use strict;
use warnings;
use File::Temp qw(tempdir);
use Sysadm::Install qw(:all);
use Log::Log4perl qw(:easy);
( run in 0.562 second using v1.01-cache-2.11-cpan-454fe037f31 )