Ver código fonte

Merge pull request #5 from jgrahamc/master

Fixed a bug where a bad connection gets reused
Brad Fitzpatrick 13 anos atrás
pai
commit
66c15b06fe
1 arquivos alterados com 3 adições e 1 exclusões
  1. 3 1
      memcache/memcache.go

+ 3 - 1
memcache/memcache.go

@@ -183,6 +183,8 @@ func (cn *conn) extendDeadline() {
 func (cn *conn) condRelease(err *error) {
 func (cn *conn) condRelease(err *error) {
 	if *err == nil || resumableError(*err) {
 	if *err == nil || resumableError(*err) {
 		cn.release()
 		cn.release()
+	} else {
+		cn.nc.Close()
 	}
 	}
 }
 }
 
 
@@ -289,7 +291,7 @@ func (c *Client) onItem(item *Item, fn func(*Client, *bufio.ReadWriter, *Item) e
 		return err
 		return err
 	}
 	}
 	defer cn.condRelease(&err)
 	defer cn.condRelease(&err)
-	if err := fn(c, cn.rw, item); err != nil {
+	if err = fn(c, cn.rw, item); err != nil {
 		return err
 		return err
 	}
 	}
 	return nil
 	return nil