From: Greg Farnum Date: Thu, 15 Apr 2010 18:58:43 +0000 (-0700) Subject: msgr: Add a void *pipe to Connection. X-Git-Tag: v0.22~625^2~17 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6c9bee491082018722741adef878c1ca2d4812f0;p=ceph.git msgr: Add a void *pipe to Connection. This is set on Connection creation and zeroed out in ~Pipe(). --- diff --git a/src/msg/Message.h b/src/msg/Message.h index fafed5127ac2..70cfdfab9b5b 100644 --- a/src/msg/Message.h +++ b/src/msg/Message.h @@ -163,9 +163,10 @@ struct Connection : public RefCountedObject { int peer_type; entity_addr_t peer_addr; unsigned features; + void *pipe; public: - Connection() : nref(1), lock("Connection::lock"), priv(NULL), peer_type(-1), features(0) {} + Connection() : nref(1), lock("Connection::lock"), priv(NULL), peer_type(-1), features(0), pipe(NULL) {} ~Connection() { //generic_dout(0) << "~Connection " << this << dendl; if (priv) { diff --git a/src/msg/SimpleMessenger.h b/src/msg/SimpleMessenger.h index 9dce9b432de4..657fe6b9de6d 100644 --- a/src/msg/SimpleMessenger.h +++ b/src/msg/SimpleMessenger.h @@ -183,7 +183,9 @@ private: in_qlen(0), keepalive(false), connect_seq(0), peer_global_seq(0), out_seq(0), in_seq(0), in_seq_acked(0), - reader_thread(this), writer_thread(this) { } + reader_thread(this), writer_thread(this) { + connection_state->pipe = this; + } ~Pipe() { for (map::item* >::iterator i = queue_items.begin(); i != queue_items.end(); @@ -194,6 +196,7 @@ private: } assert(out_q.empty()); assert(sent.empty()); + connection_state->pipe = NULL; connection_state->put(); }