From ed1076361e461ba5dcccd84090f40a7051cfe156 Mon Sep 17 00:00:00 2001 From: Bruce Marriner Date: Sat, 2 Jan 2016 22:34:54 -0600 Subject: [PATCH] Changed the order of the heartbeat lock to be a little better. --- wsapi.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/wsapi.go b/wsapi.go index 417d07f..1b7a734 100644 --- a/wsapi.go +++ b/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)