Cache
view release on metacpan or search on metacpan
lib/Cache/File/Entry.pm view on Meta::CPAN
use Symbol ();
use Carp;
use base qw(Cache::Entry);
use fields qw(dir path lockdetails);
our $VERSION = '2.11';
# hash of locks held my the process, keyed on path. This is useful for
# catching potential deadlocks and warning the user, and for implementing
# LOCK_NONE (which still needs to do some synchronization). Each entry will
# be an hash of { lock, type, count, lock, lockfh, linkcount }. The
# filehandle and link count is for checking when the lock has been released by
# another process.
my %PROCESS_LOCKS;
sub new {
my Cache::File::Entry $self = shift;
$self = fields::new($self) unless ref $self;
lib/Cache/Tester.pm view on Meta::CPAN
my $handle = $entry->handle('<') or diag("handle not created: $!");
_ok($entry->exists(), 'entry exists after handle opened');
_is(<$handle>, $data, 'handle returns correct data');
_is($entry->get(), $data, '$entry->get() returns correct data');
$handle->close();
_ok($entry->exists(), 'entry exists after handle closed');
_is($entry->get(), $data, '$entry->get() returns correct data');
}
# Test that a handle can be removed asynchronously with it being open
sub test_handle_async_remove {
my ($cache) = @_;
my $entry = $cache->entry('removehandle');
$entry->remove();
my $size = $cache->size();
$entry->set('test data');
( run in 0.309 second using v1.01-cache-2.11-cpan-0d8aa00de5b )