Cache-Memcached-PDeque

 view release on metacpan or  search on metacpan

lib/Cache/Memcached/PDeque.pm  view on Meta::CPAN


  confess("Timeout must not be '1'") if $arg{'timeout'} == 1;

  while (1) {
    my $have_lock = $self->memcached->add("$priority:lock", $$, $arg{'timeout'});
    last if $have_lock;
    sleep(.1);
  }

  affirm {
    my $locked_by = $self->memcached->get("$priority:lock");
    $$ == $locked_by;
  };
}

sub _unlock {
  my ( $self, $priority ) = @_;

  affirm {
    my $locked_by = $self->memcached->get("$priority:lock");
    $$ == $locked_by;
  };

  $self->memcached->delete("$priority:lock");
}

no Moose;
__PACKAGE__->meta->make_immutable;

=head1 AUTHOR



( run in 0.619 second using v1.01-cache-2.11-cpan-49f99fa48dc )