Преглед на файлове

Merge pull request #319 from Zariel/fix-data-race

lock mu when checking if the pool is closed
Ben Hood преди 10 години
родител
ревизия
45986ad840
променени са 1 файла, в които са добавени 4 реда и са изтрити 1 реда
  1. 4 1
      connectionpool.go

+ 4 - 1
connectionpool.go

@@ -291,7 +291,10 @@ func (c *SimplePool) HandleError(conn *Conn, err error, closed bool) {
 		return
 	}
 	c.removeConn(conn)
-	if !c.quit {
+	c.mu.Lock()
+	poolClosed := c.quit
+	c.mu.Unlock()
+	if !poolClosed {
 		go c.fillPool() // top off pool.
 	}
 }