瀏覽代碼

Fix race between sender and receiver.

Gary Burd 13 年之前
父節點
當前提交
b85fd5bc22
共有 1 個文件被更改,包括 3 次插入3 次删除
  1. 3 3
      redis/conn.go

+ 3 - 3
redis/conn.go

@@ -228,15 +228,15 @@ func (c *conn) readReply() (interface{}, error) {
 }
 
 func (c *conn) Send(cmd string, args ...interface{}) error {
+	c.mu.Lock()
+	c.pending += 1
+	c.mu.Unlock()
 	if c.writeTimeout != 0 {
 		c.conn.SetWriteDeadline(time.Now().Add(c.writeTimeout))
 	}
 	if err := c.writeCommand(cmd, args); err != nil {
 		return c.fatal(err)
 	}
-	c.mu.Lock()
-	c.pending += 1
-	c.mu.Unlock()
 	return nil
 }