Fix: using close to defeat block on pendingResponse.done
diff --git a/protocol/dubbo/listener.go b/protocol/dubbo/listener.go
index 0251b78..0415d24 100644
--- a/protocol/dubbo/listener.go
+++ b/protocol/dubbo/listener.go
@@ -135,7 +135,7 @@
 	pendingResponse.response.atta = p.Body.(*Response).atta
 
 	if pendingResponse.callback == nil {
-		pendingResponse.done <- struct{}{}
+		close(pendingResponse.done)
 	} else {
 		pendingResponse.callback(pendingResponse.GetCallResponse())
 	}
@@ -156,7 +156,9 @@
 		return
 	}
 
-	h.conn.pool.rpcClient.heartbeat(session)
+	if err := h.conn.pool.rpcClient.heartbeat(session); err != nil {
+		logger.Warnf("failed to send heartbeat, error: %v", err)
+	}
 }
 
 // //////////////////////////////////////////