Pārlūkot izejas kodu

Changed the order of the heartbeat lock to be a little better.

Bruce Marriner 9 gadi atpakaļ
vecāks
revīzija
ed1076361e
1 mainītis faili ar 3 papildinājumiem un 2 dzēšanām
  1. 3 2
      wsapi.go

+ 3 - 2
wsapi.go

@@ -427,10 +427,11 @@ func (s *Session) Heartbeat(i time.Duration) {
 		s.heartbeatLock.Unlock()
 		return
 	}
-	s.heartbeatRunning = true
-	defer func() { s.heartbeatRunning = false }()
 	s.heartbeatLock.Unlock()
 
+	defer func() { s.heartbeatRunning = false }()
+	s.heartbeatRunning = true
+
 	// send first heartbeat immediately because lag could put the
 	// first heartbeat outside the required heartbeat interval window
 	ticker := time.NewTicker(i * time.Millisecond)