Преглед изворни кода

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

Bruce Marriner пре 9 година
родитељ
комит
ed1076361e
1 измењених фајлова са 3 додато и 2 уклоњено
  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)