--- loncom/lonnet/perl/lonnet.pm 2016/08/16 22:28:58 1.1172.2.79 +++ loncom/lonnet/perl/lonnet.pm 2016/09/17 19:23:42 1.1172.2.80 @@ -1,7 +1,7 @@ # The LearningOnline Network # TCP networking package # -# $Id: lonnet.pm,v 1.1172.2.79 2016/08/16 22:28:58 raeburn Exp $ +# $Id: lonnet.pm,v 1.1172.2.80 2016/09/17 19:23:42 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -9913,7 +9913,23 @@ sub dirlist { foreach my $user (sort(keys(%allusers))) { push(@alluserslist,$user.'&user'); } - return (\@alluserslist); + if (!%listerror) { + # no errors + return (\@alluserslist); + } elsif (scalar(keys(%servers)) == 1) { + # one library server, one error + my ($key) = keys(%listerror); + return (\@alluserslist, $listerror{$key}); + } elsif ( grep { $_ eq 'con_lost' } values(%listerror) ) { + # con_lost indicates that we might miss data from at least one + # library server + return (\@alluserslist, 'con_lost'); + } else { + # multiple library servers and no con_lost -> data should be + # complete. + return (\@alluserslist); + } + } else { return ([],'missing username'); }