changeset 213:2fad2931a5a6

Fix for [issue78] gemma back end broken for me since 213:3d0988d9f867 During unification of the two connection pool implementions forget to initialize the tokens -> connection mapping in the non-persistent case.
author Sascha L. Teichmann <teichmann@intevation.de>
date Mon, 23 Jul 2018 20:38:40 +0200
parents 229f385448fa
children da24df80c25d
files auth/pool.go
diffstat 1 files changed, 3 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/auth/pool.go	Mon Jul 23 17:41:31 2018 +0200
+++ b/auth/pool.go	Mon Jul 23 20:38:40 2018 +0200
@@ -20,7 +20,8 @@
 func NewConnectionPool(filename string) (*ConnectionPool, error) {
 
 	pcp := &ConnectionPool{
-		cmds: make(chan func(*ConnectionPool)),
+		conns: make(map[string]*Connection),
+		cmds:  make(chan func(*ConnectionPool)),
 	}
 	if err := pcp.openStorage(filename); err != nil {
 		return nil, err
@@ -42,7 +43,6 @@
 		return err
 	}
 
-	conns := make(map[string]*Connection)
 	err = db.Update(func(tx *bolt.Tx) error {
 		b, err := tx.CreateBucketIfNotExists(sessionsBucket)
 		if err != nil {
@@ -57,7 +57,7 @@
 			if err := conn.deserialize(bytes.NewReader(v)); err != nil {
 				return err
 			}
-			conns[string(k)] = &conn
+			pcp.conns[string(k)] = &conn
 		}
 
 		return nil
@@ -69,8 +69,6 @@
 	}
 
 	pcp.storage = db
-	pcp.conns = conns
-
 	return nil
 }