--- loncom/lonnet/perl/lonnet.pm 2005/08/31 08:27:38 1.651.2.1 +++ loncom/lonnet/perl/lonnet.pm 2005/09/01 06:48:05 1.651.2.2 @@ -1,7 +1,7 @@ # The LearningOnline Network # TCP networking package # -# $Id: lonnet.pm,v 1.651.2.1 2005/08/31 08:27:38 albertel Exp $ +# $Id: lonnet.pm,v 1.651.2.2 2005/09/01 06:48:05 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -5887,14 +5887,21 @@ BEGIN { sub get_iphost { if (%iphost) { return %iphost; } + my %name_to_ip; foreach my $id (keys(%hostname)) { my $name=$hostname{$id}; - my $ip = gethostbyname($name); - if (!$ip || length($ip) ne 4) { - &logthis("Skipping host $id name $name no IP found\n"); - next; + my $ip; + if (!exists($name_to_ip{$name})) { + $ip = gethostbyname($name); + if (!$ip || length($ip) ne 4) { + &logthis("Skipping host $id name $name no IP found\n"); + next; + } + $ip=inet_ntoa($ip); + $name_to_ip{$name} = $ip; + } else { + $ip = $name_to_ip{$name}; } - $ip=inet_ntoa($ip); push(@{$iphost{$ip}},$id); } return %iphost;