summaryrefslogtreecommitdiff
path: root/src/msg/SimpleMessenger.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/msg/SimpleMessenger.cc')
-rw-r--r--src/msg/SimpleMessenger.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/msg/SimpleMessenger.cc b/src/msg/SimpleMessenger.cc
index 995b0bf5d2f..aab1aa4a5c1 100644
--- a/src/msg/SimpleMessenger.cc
+++ b/src/msg/SimpleMessenger.cc
@@ -1931,6 +1931,16 @@ Message *Rank::Pipe::read_message()
dout(20) << "reader got front " << front.length() << dendl;
}
+ int zero_map_len;
+ bufferptr zero_map_bp;
+ if (tcp_read( sd, (char *)&zero_map_len, 4 ) < 0)
+ return 0;
+ if (zero_map_len) {
+ zero_map_bp = buffer::create(zero_map_len);
+ if (tcp_read( sd, zero_map_bp.c_str(), zero_map_len ) < 0)
+ return 0;
+ }
+
// read data
bufferlist data;
unsigned data_len = le32_to_cpu(header.data_len);
@@ -2074,6 +2084,9 @@ int Rank::Pipe::write_message(Message *m)
m->calc_header_crc();
bufferlist blist = m->get_payload();
+
+ int zero_map_len = 0;
+ blist.append((char *)&zero_map_len, 4);
blist.append(m->get_data());
dout(20) << "write_message " << m << " to " << header.dst << dendl;