From 2a0ed8301e28b851f2a3249382c742ed985fedaa Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 30 Mar 2010 13:19:30 -0700 Subject: [PATCH] msgr: init local_pipe peer_{addr,type} --- src/msg/SimpleMessenger.cc | 9 +++++++++ src/msg/SimpleMessenger.h | 1 + 2 files changed, 10 insertions(+) diff --git a/src/msg/SimpleMessenger.cc b/src/msg/SimpleMessenger.cc index babbdf7c3b69d..ac86676226e61 100644 --- a/src/msg/SimpleMessenger.cc +++ b/src/msg/SimpleMessenger.cc @@ -136,6 +136,8 @@ int SimpleMessenger::Accepter::bind(int64_t force_nonce) messenger->ms_addr.nonce = getpid(); // FIXME: pid might not be best choice here. } + messenger->init_local_pipe(); + dout(1) << "accepter.bind ms_addr is " << messenger->ms_addr << " need_addr=" << messenger->need_addr << dendl; messenger->did_bind = true; return 0; @@ -2430,5 +2432,12 @@ void SimpleMessenger::learned_addr(entity_addr_t peer_addr_for_me) ms_addr.set_port(port); dout(1) << "learned my addr " << ms_addr << dendl; need_addr = false; + init_local_pipe(); lock.Unlock(); } + +void SimpleMessenger::init_local_pipe() +{ + dispatch_queue.local_pipe->connection_state->peer_addr = messenger->ms_addr; + dispatch_queue.local_pipe->connection_state->peer_type = messenger->my_type; +} diff --git a/src/msg/SimpleMessenger.h b/src/msg/SimpleMessenger.h index c751630d3760b..d5443373985cc 100644 --- a/src/msg/SimpleMessenger.h +++ b/src/msg/SimpleMessenger.h @@ -525,6 +525,7 @@ public: int send_keepalive(const entity_inst_t& addr); void learned_addr(entity_addr_t peer_addr_for_me); + void init_local_pipe(); void set_default_policy(Policy p) { default_policy = p; -- 2.39.5