Преглед на файлове

Protect writes to DataReady with mutex lock

Bruce Marriner преди 8 години
родител
ревизия
11f11de41c
променени са 1 файла, в които са добавени 4 реда и са изтрити 0 реда
  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: