From: Sage Weil Date: Tue, 23 Nov 2010 00:12:10 +0000 (-0800) Subject: msgr: tolerate 0 bytes from tcp_read_nonblocking X-Git-Tag: v0.24~136 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=71369541ab4ac1752fca3a6134ea51f5cc0bea9f;p=ceph.git msgr: tolerate 0 bytes from tcp_read_nonblocking This can happen, I belive when we get a signal or something. Signed-off-by: Sage Weil --- diff --git a/src/msg/SimpleMessenger.cc b/src/msg/SimpleMessenger.cc index d649bd2a42e57..8d160f8e2cad9 100644 --- a/src/msg/SimpleMessenger.cc +++ b/src/msg/SimpleMessenger.cc @@ -1910,11 +1910,12 @@ int SimpleMessenger::Pipe::read_message(Message **pm) connection_state->lock.Unlock(); if (got < 0) goto out_dethrottle; - assert(got > 0); // hmm.. right? - blp.advance(got); - data.append(bp, 0, got); - offset += got; - left -= got; + if (got > 0) { + blp.advance(got); + data.append(bp, 0, got); + offset += got; + left -= got; + } // else we got a signal or something; just loop. } }