Fix data race
Some checks failed
Release / call-build-workflow (push) Has been cancelled
Release / Publish Docker :release (push) Has been cancelled
Release / Publish Github & APT release (push) Has been cancelled

This commit is contained in:
andig 2022-03-15 21:44:22 +00:00
parent f79b8a164d
commit 7a3c30729b

View file

@ -5,6 +5,7 @@ import (
"fmt"
"strconv"
"strings"
"sync"
"time"
"github.com/evcc-io/evcc/util"
@ -146,9 +147,15 @@ func (mb *Connection) ReadFIFOQueue(address uint16) (results []byte, err error)
return mb.handle(mb.conn.ModbusClient().ReadFIFOQueue(address))
}
var connections = make(map[string]meters.Connection)
var (
connections = make(map[string]meters.Connection)
mu sync.Mutex
)
func registeredConnection(key string, newConn meters.Connection) meters.Connection {
mu.Lock()
defer mu.Unlock()
if conn, ok := connections[key]; ok {
return conn
}