File manager - Edit - /usr/local/cpanel/3rdparty/perl/542/cpanel-lib/x86_64-linux/DNS/Unbound/EventLoopBase.pm
Back
package DNS::Unbound::EventLoopBase; use strict; use warnings; use parent 'DNS::Unbound'; my %INSTANCE_REFHOLDER; sub resolve_async { my $self = shift; if ( $INSTANCE_REFHOLDER{$self} ) { $INSTANCE_REFHOLDER{$self}[1]++; } else { $INSTANCE_REFHOLDER{$self} = [ $self, 1 ]; } my $self_str = "$self"; my $refholder_ar = $INSTANCE_REFHOLDER{$self}; my $p = $self->SUPER::resolve_async(@_); # Ideally we’d just return the result of finally(); however, # finally() is broken in lots of old Promise::ES6 releases. # To accommodate that, we’ll discard finally()’s return here # rather than returning it. $p->finally( sub { $refholder_ar->[1]--; if ($refholder_ar->[1] == 0) { delete $INSTANCE_REFHOLDER{$self_str}; } } ); return $p; } sub DESTROY { my ($self) = @_; delete $INSTANCE_REFHOLDER{$self}; return $self->SUPER::DESTROY() if $self->can('SUPER::DESTROY'); } 1;
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Generation time: 0.03 |
proxy
|
phpinfo
|
Settings