forked from mirror/redis
Cleanup
This commit is contained in:
parent
6cd6cd828f
commit
6d8db67ef5
|
@ -108,24 +108,29 @@ func (p *ConnPool) checkMinIdleConns() {
|
||||||
for p.poolSize < p.opt.PoolSize && p.idleConnsLen < p.opt.MinIdleConns {
|
for p.poolSize < p.opt.PoolSize && p.idleConnsLen < p.opt.MinIdleConns {
|
||||||
p.poolSize++
|
p.poolSize++
|
||||||
p.idleConnsLen++
|
p.idleConnsLen++
|
||||||
go p.addIdleConn()
|
go func() {
|
||||||
|
err := p.addIdleConn()
|
||||||
|
if err != nil {
|
||||||
|
p.connsMu.Lock()
|
||||||
|
p.poolSize--
|
||||||
|
p.idleConnsLen--
|
||||||
|
p.connsMu.Unlock()
|
||||||
|
}
|
||||||
|
}()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *ConnPool) addIdleConn() {
|
func (p *ConnPool) addIdleConn() error {
|
||||||
cn, err := p.newConn(context.TODO(), true)
|
cn, err := p.newConn(context.TODO(), true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
p.connsMu.Lock()
|
return err
|
||||||
p.poolSize--
|
|
||||||
p.idleConnsLen--
|
|
||||||
p.connsMu.Unlock()
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
|
||||||
p.connsMu.Lock()
|
p.connsMu.Lock()
|
||||||
p.conns = append(p.conns, cn)
|
p.conns = append(p.conns, cn)
|
||||||
p.idleConns = append(p.idleConns, cn)
|
p.idleConns = append(p.idleConns, cn)
|
||||||
p.connsMu.Unlock()
|
p.connsMu.Unlock()
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *ConnPool) NewConn(ctx context.Context) (*Conn, error) {
|
func (p *ConnPool) NewConn(ctx context.Context) (*Conn, error) {
|
||||||
|
|
Loading…
Reference in New Issue