]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
msgr: init local_pipe peer_{addr,type}
authorSage Weil <sage@newdream.net>
Tue, 30 Mar 2010 20:19:30 +0000 (13:19 -0700)
committerSage Weil <sage@newdream.net>
Tue, 30 Mar 2010 20:19:30 +0000 (13:19 -0700)
src/msg/SimpleMessenger.cc
src/msg/SimpleMessenger.h

index babbdf7c3b69d62ae8394ba6d0c6faa868157fcd..ac86676226e617391bcba76a9b72f224e0624e2c 100644 (file)
@@ -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;
+}
index c751630d3760b31e71252b22f76a8e5adc7a3e0c..d5443373985cc2aea60b41d566db62182da91bb5 100644 (file)
@@ -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;