Fix race condition in logger initialization (#1156)
This commit is contained in:
parent
b49de37a4e
commit
3cd6e0859c
1 changed files with 6 additions and 1 deletions
|
|
@ -116,10 +116,15 @@ func NewSMAFromConfig(other map[string]interface{}) (api.Meter, error) {
|
|||
// map of created discover instances
|
||||
var discoverers = make(map[string]*smaDiscoverer)
|
||||
|
||||
// initialize sunny logger only once
|
||||
var once sync.Once
|
||||
|
||||
// NewSMA creates a SMA Meter
|
||||
func NewSMA(uri, password, iface string, serial uint32, scale float64) (api.Meter, error) {
|
||||
log := util.NewLogger("sma")
|
||||
sunny.Log = log.TRACE
|
||||
once.Do(func() {
|
||||
sunny.Log = log.TRACE
|
||||
})
|
||||
|
||||
sm := &SMA{
|
||||
mux: util.NewWaiter(udpTimeout, func() { log.TRACE.Println("wait for initial value") }),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue