the returned value for do_recv unequal to zero:
ssize_t Pipe::do_recv(char *buf, size_t len, int flags)
{
again:
ssize_t got = ::recv( sd, buf, len, flags );
if (got < 0) {
if (errno == EINTR) {
goto again;
}
ldout(msgr->cct, 10) << **func** << " socket " << sd << " returned "
<< got << " " << cpp_strerror(errno) << dendl;
return -1;
}
if (got == 0) {
return -1;
}
return got;
}
so here '=' can be removed
Signed-off-by: zhang.zezhu <zhang.zezhu@zte.com.cn>
ssize_t got = do_recv(recv_buf, recv_max_prefetch, flags);
- if (got <= 0) {
+ if (got < 0) {
if (total_recv > 0)
return total_recv;