Explorar el Código

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

Bruce Marriner hace 9 años
padre
commit
ed1076361e
Se han modificado 1 ficheros con 3 adiciones y 2 borrados
  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)