Ocpp: fix duplicate init (#16277)

This commit is contained in:
andig 2024-09-23 09:16:13 +02:00 • committed by GitHub
parent 2d9a85b039
commit 0b0d8fd9f2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -81,12 +81,13 @@ func (cs *CS) RegisterChargepoint(id string, newfun func() *CP, init func(*CP) e
cpmu.Lock()
defer cpmu.Unlock()
cp, err := cs.ChargepointByID(id)
if err != nil {
cp = newfun()
// already registered?
if cp, err := cs.ChargepointByID(id); err == nil {
return cp, nil
}
// should not error
// first time- registration should not error
cp := newfun()
if err := cs.register(id, cp); err != nil {
return nil, err
}