aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2019-12-02 17:36:43 +0100
committerSimon Ser <contact@emersion.fr>2019-12-02 17:36:43 +0100
commit85f8530fd368d515b9f8ed264ed64d64079210ad (patch)
tree680c235222229a5e41a3c8454ea06c560ba93ec3
parentc62703985e80b129e2ba264f6d1a3cc750f27d6e (diff)
downloadalps-85f8530fd368d515b9f8ed264ed64d64079210ad.tar.gz
alps-85f8530fd368d515b9f8ed264ed64d64079210ad.zip
Evict connection pool entry on logout
-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
}