Index: mogilefsd =================================================================== RCS file: /home/cvspub/wcmtools/mogilefs/server/mogilefsd,v retrieving revision 1.96 diff -u -r1.96 mogilefsd --- mogilefsd 4 Apr 2005 19:28:38 -0000 1.96 +++ mogilefsd 9 May 2005 01:55:47 -0000 @@ -1420,13 +1420,13 @@ # give the socket 3 seconds to become readable unless (Mgd::wait_for_readability(fileno($sock), $node_timeout)) { close($sock); - return 0; + return undef; } # now we know there's readable data my $line = <$sock>; - return 0 unless defined $line; - return 0 unless $line =~ /^(\S+)\s+(-?\d+)/; # expected format: "uri size" + return undef unless defined $line; + return undef unless $line =~ /^(\S+)\s+(-?\d+)/; # expected format: "uri size" return error("get_file_size() requested size of $path, got back size of $1 ($2 bytes)") if $1 ne $uri; return $2+0; @@ -1441,7 +1441,8 @@ return error("send() didn't return expected length ($rv, not $reqlen) for $path"); } else { # success - return $parse_response->(); + $rv = $parse_response->(); + return $rv if defined $rv; } } @@ -1457,7 +1458,9 @@ return error("send() didn't return expected length ($rv, not $reqlen) for $path"); } else { # success - return $parse_response->(); + $rv = $parse_response->(); + return $rv if defined $rv; + return 0; } } }