Ver Fonte

Protect writes to DataReady with mutex lock

Bruce Marriner há 8 anos atrás
pai
commit
11f11de41c
1 ficheiros alterados com 4 adições e 0 exclusões
  1. 4 0
      wsapi.go

+ 4 - 0
wsapi.go

@@ -194,10 +194,14 @@ func (s *Session) heartbeat(wsConn *websocket.Conn, listening <-chan interface{}
 		s.wsMutex.Unlock()
 		if err != nil {
 			s.log(LogError, "error sending heartbeat to gateway %s, %s", s.gateway, err)
+			s.Lock()
 			s.DataReady = false
+			s.Unlock()
 			return
 		}
+		s.Lock()
 		s.DataReady = true
+		s.Unlock()
 
 		select {
 		case <-ticker.C: