[ISSUE #134]Fixed ResponseFuture leak when invokeHeartBeat is failed. (#135)
diff --git a/src/transport/TcpRemotingClient.cpp b/src/transport/TcpRemotingClient.cpp
index e72af1d..8151379 100644
--- a/src/transport/TcpRemotingClient.cpp
+++ b/src/transport/TcpRemotingClient.cpp
@@ -142,12 +142,14 @@
unique_ptr<RemotingCommand> pRsp(responseFuture->waitResponse(3000));
if (pRsp == NULL) {
LOG_ERROR("wait response timeout of heartbeat, so closeTransport of addr:%s", addr.c_str());
+ findAndDeleteResponseFuture(opaque);
CloseTransport(addr, pTcp);
return false;
} else if (pRsp->getCode() == SUCCESS_VALUE) {
return true;
} else {
LOG_WARN("get error response:%d of heartbeat to addr:%s", pRsp->getCode(), addr.c_str());
+ findAndDeleteResponseFuture(opaque);
return false;
}
} else {