浏览代码

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)