aboutsummaryrefslogtreecommitdiff
path: root/src/database/sql/sql.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/database/sql/sql.go')
-rw-r--r--src/database/sql/sql.go10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/database/sql/sql.go b/src/database/sql/sql.go
index 7537f87d47..7c8d46b100 100644
--- a/src/database/sql/sql.go
+++ b/src/database/sql/sql.go
@@ -1322,11 +1322,13 @@ func (db *DB) putConnDBLocked(dc *driverConn, err error) bool {
err: err,
}
return true
- } else if err == nil && !db.closed && db.maxIdleConnsLocked() > len(db.freeConn) {
- db.freeConn = append(db.freeConn, dc)
+ } else if err == nil && !db.closed {
+ if db.maxIdleConnsLocked() > len(db.freeConn) {
+ db.freeConn = append(db.freeConn, dc)
+ db.startCleanerLocked()
+ return true
+ }
db.maxIdleClosed++
- db.startCleanerLocked()
- return true
}
return false
}