Mercurial > gemma
changeset 133:f4523620ba5d
Close idle connections until there are only maxOpen connections open.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 28 Jun 2018 17:26:38 +0200 |
parents | 61f86d069259 |
children | 0c56c56a1c44 731fb359b29c 0fd572582ab8 |
files | auth/connection.go |
diffstat | 1 files changed, 14 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/auth/connection.go Thu Jun 28 17:18:29 2018 +0200 +++ b/auth/connection.go Thu Jun 28 17:26:38 2018 +0200 @@ -161,20 +161,23 @@ conn.refCount-- - least := time.Now() - var count int - var oldest *Connection + for { + least := time.Now() + var count int + var oldest *Connection - for _, con := range cp.conns { - if con.db != nil && con.refCount <= 0 { - if con.access.Before(least) { - least = con.access - oldest = con + for _, con := range cp.conns { + if con.db != nil && con.refCount <= 0 { + if con.access.Before(least) { + least = con.access + oldest = con + } + count++ } - count++ } - } - if count > maxOpen { + if count <= maxOpen { + break + } oldest.close() } }