--- loncom/lonnet/perl/lonnet.pm 2005/09/01 05:07:35 1.652 +++ loncom/lonnet/perl/lonnet.pm 2005/09/01 06:47:26 1.654 @@ -1,7 +1,7 @@ # The LearningOnline Network # TCP networking package # -# $Id: lonnet.pm,v 1.652 2005/09/01 05:07:35 albertel Exp $ +# $Id: lonnet.pm,v 1.654 2005/09/01 06:47:26 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -5896,14 +5896,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;