From: sage Date: Mon, 27 Jun 2005 16:58:13 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: v0.1~2035 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=7804916cdb60e532054c89f26b343cd86dfcd273;p=ceph.git *** empty log message *** git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@346 29311d96-e01e-0410-9327-a35deaab8ce9 --- diff --git a/ceph/msg/Messenger.cc b/ceph/msg/Messenger.cc index bc4121ac6c1ab..545cc76d0affc 100644 --- a/ceph/msg/Messenger.cc +++ b/ceph/msg/Messenger.cc @@ -129,7 +129,7 @@ Message *Messenger::sendrecv(Message *m, msg_addr_t dest, int port) This should be fine. only the Client uses this so far (not MDS). If OSDs want to use this, though, this must be made smarter!!! */ - long pcid = ++last_pcid; + long pcid = ++_last_pcid; m->set_pcid(pcid); _lock.Lock(); diff --git a/ceph/msg/Messenger.h b/ceph/msg/Messenger.h index 0822984626945..8f1026cf98993 100644 --- a/ceph/msg/Messenger.h +++ b/ceph/msg/Messenger.h @@ -21,13 +21,13 @@ class Messenger { msg_addr_t _myaddr; // procedure call fun - long last_pcid; + long _last_pcid; Mutex _lock; // protect call_sem, call_reply map call_cond; map call_reply; public: - Messenger(msg_addr_t w) : dispatcher(0), _myaddr(w) { } + Messenger(msg_addr_t w) : dispatcher(0), _myaddr(w), _last_pcid(1) { } virtual ~Messenger() { } msg_addr_t get_myaddr() { return _myaddr; } diff --git a/ceph/msg/TCPMessenger.cc b/ceph/msg/TCPMessenger.cc index c409e1afb742e..bdb904a6e073a 100644 --- a/ceph/msg/TCPMessenger.cc +++ b/ceph/msg/TCPMessenger.cc @@ -219,6 +219,9 @@ void tcp_write(int sd, char *buf, int len) //dout(DBL) << "tcp_write writing " << len << endl; while (len > 0) { int did = ::send( sd, buf, len, 0 ); + if (did < 0) { + dout(1) << "tcp_write error did = " << did << " errno " << errno << " " << strerror(errno) << endl; + } assert(did >= 0); len -= did; buf += did; @@ -436,6 +439,9 @@ int tcp_send(Message *m) } sender_lock.Unlock(); + + // hose message + delete m; }