Dear Graham Barr,
 
Regaring Net::DNS::Resolver,
 
In the "send_udp" function I added a timeout. It was possbile (unlikely, except under high loads) for the operation to block indefinitely if the socket failed in between the call to select and recv.
 
<   foreach $ready (@ready) {
<    my $buf = "";
>    $ready->timeout($timeout);
<    if ($ready->recv($buf, &Net::DNS::PACKETSZ)) {
<     $self->answerfrom($ready->peerhost);
This change fixed a busy DNS monitoring program that was hanging occasionally.
 
        - Erik Aronesty
          ZoneEdit, Inc.
 

Reply via email to