aboutsummaryrefslogtreecommitdiffstats
path: root/conn_pool.go
diff options
context:
space:
mode:
authorLibravatarLibravatar Simon Ser <[email protected]> 2019-12-02 17:36:43 +0100
committerLibravatarLibravatar Simon Ser <[email protected]> 2019-12-02 17:36:43 +0100
commit85f8530fd368d515b9f8ed264ed64d64079210ad (patch)
tree680c235222229a5e41a3c8454ea06c560ba93ec3 /conn_pool.go
parentc62703985e80b129e2ba264f6d1a3cc750f27d6e (diff)
downloadalps-85f8530fd368d515b9f8ed264ed64d64079210ad.tar.gz
alps-85f8530fd368d515b9f8ed264ed64d64079210ad.tar.bz2
alps-85f8530fd368d515b9f8ed264ed64d64079210ad.zip
Evict connection pool entry on logout
Diffstat (limited to 'conn_pool.go')
-rw-r--r--conn_pool.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/conn_pool.go b/conn_pool.go
index 147c022..8d20ac5 100644
--- a/conn_pool.go
+++ b/conn_pool.go
@@ -54,5 +54,11 @@ func (pool *ConnPool) Put(conn *imapclient.Client) (token string, err error) {
}
pool.conns[token] = conn
+
+ go func() {
+ <-conn.LoggedOut()
+ delete(pool.conns, token)
+ }()
+
return token, nil
}