소스 검색

Whenever the connection is closed always call cluster.HandleError

Chris Bannister 11 년 전
부모
커밋
32a6094508
1개의 변경된 파일2개의 추가작업 그리고 0개의 파일을 삭제
  1. 2 0
      conn.go

+ 2 - 0
conn.go

@@ -249,6 +249,7 @@ func (c *Conn) execSimple(op operation) (interface{}, error) {
 	f.setLength(len(f) - headerSize)
 	f.setLength(len(f) - headerSize)
 	if _, err := c.conn.Write([]byte(f)); err != nil {
 	if _, err := c.conn.Write([]byte(f)); err != nil {
 		c.conn.Close()
 		c.conn.Close()
+		c.cluster.HandleError(c, err, true)
 		return nil, err
 		return nil, err
 	}
 	}
 	if f, err = c.recv(); err != nil {
 	if f, err = c.recv(); err != nil {
@@ -284,6 +285,7 @@ func (c *Conn) exec(op operation, trace Tracer) (interface{}, error) {
 
 
 	if n, err := c.conn.Write(req); err != nil {
 	if n, err := c.conn.Write(req); err != nil {
 		c.conn.Close()
 		c.conn.Close()
+		c.cluster.HandleError(c, err, true)
 		c.uniq <- id
 		c.uniq <- id
 		if n > 0 {
 		if n > 0 {
 			return nil, ErrProtocol
 			return nil, ErrProtocol