Index: blimp/net/stream_packet_reader.cc |
diff --git a/blimp/net/stream_packet_reader.cc b/blimp/net/stream_packet_reader.cc |
index e50074865076abb84b88230070557093e2839f5e..c3ae61e9a93604b84a11ba388ad6f72d58c6e767 100644 |
--- a/blimp/net/stream_packet_reader.cc |
+++ b/blimp/net/stream_packet_reader.cc |
@@ -103,10 +103,11 @@ int StreamPacketReader::DoReadHeader(int result) { |
header_buffer_->set_offset(header_buffer_->offset() + result); |
if (static_cast<size_t>(header_buffer_->offset()) < kPacketHeaderSizeBytes) { |
// There is more header to read. |
- return socket_->Read(header_buffer_.get(), |
- kPacketHeaderSizeBytes - header_buffer_->offset(), |
- base::Bind(&StreamPacketReader::OnReadComplete, |
- weak_factory_.GetWeakPtr())); |
+ int result = socket_->Read( |
+ header_buffer_.get(), kPacketHeaderSizeBytes - header_buffer_->offset(), |
+ base::Bind(&StreamPacketReader::OnReadComplete, |
+ weak_factory_.GetWeakPtr())); |
+ return (result != 0 ? result : net::ERR_CONNECTION_CLOSED); |
} |
// Finished reading the header. Parse the size and prepare for payload read. |