Async-Event-Interval
view release on metacpan or search on metacpan
lib/Async/Event/Interval.pm view on Meta::CPAN
return if $_shutting_down;
if (defined $self) {
$self->stop if $self->pid;
}
# On events with interval of zero, ForkManager runs finish(), which calls
# our destroy method. We only want to blow away the %events hash if we truly
# go out of scope
return if (caller())[0] eq 'Parallel::ForkManager::Child';
# Release any shared_scalar segments owned by this event. These are tracked
# in $self->{_shared_scalars}, not inside %events, so they can be cleaned up
# outside the %events lock.
if ($self->{_shared_scalars}) {
for my $scalar (@{ $self->{_shared_scalars} }) {
next unless ref $scalar eq 'SCALAR';
my $knot = tied $$scalar;
eval { $knot->remove } if $knot;
( run in 1.031 second using v1.01-cache-2.11-cpan-817d5f8af8b )