Зупусти с этим переопределением.
Судя, по нижеприведенномо логу резолвинг прошел. Или нет?
А в чем именно проблема?
Почему так падает скорость?

On Wednesday, 16 October 2013, 17:17, Mons Anderson <[email protected]> wrote:

Подтверждаю, проблема с форками в AnyEvent::DNS.
Сокет там UDP'шный.

у нас решается так:

use AnyEvent::DNS ();
        
BEGIN {
    no warnings 'redefine';
    my $RESOLVER;
    my $FORPID = 0;
    my $res = \&AnyEvent::DNS::resolver;
    *AnyEvent::DNS::resolver = sub () {
        undef $RESOLVER if $FORPID != $$;
        $RESOLVER || do {
            #warn "Create overriden resolver for $$. previous was for $FORPID";
            undef $AnyEvent::DNS::RESOLVER;
            local $AnyEvent::DNS::RESOLVER;
            $FORPID = $$;
            $RESOLVER = AnyEvent::DNS->$res();
        };
    };
    # для дебага:
    my $new = \&AnyEvent::DNS::new;
    *AnyEvent::DNS::new = sub {
        Carp::cluck( "$$: Creating DNS resolver" );
        goto &$new;
    };
}

Attachment: log
Description: Binary data

-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить