Procházet zdrojové kódy

Protect writes to DataReady with mutex lock

Bruce Marriner před 8 roky
rodič
revize
11f11de41c
1 změnil soubory, kde provedl 4 přidání a 0 odebrání
  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: