diff options
Diffstat (limited to 'pkg/discord/gateway/heartbeat.go')
| -rw-r--r-- | pkg/discord/gateway/heartbeat.go | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/pkg/discord/gateway/heartbeat.go b/pkg/discord/gateway/heartbeat.go index a8f793d..1df753a 100644 --- a/pkg/discord/gateway/heartbeat.go +++ b/pkg/discord/gateway/heartbeat.go @@ -50,7 +50,13 @@ func (h *HeartbeatImpl) heartbeatRoutine(interval time.Duration) { // REF: heartbeat_interval * jitter jitter := rand.Intn(int(interval)) - time.Sleep(time.Duration(jitter)) + + select { + case <-time.After(time.Duration(jitter)): + case <-h.ctx.Done(): + h.logger.Debug().Msg("heartbeat routine stopped before jitter heartbeat") + return + } ticker := time.NewTicker(interval) defer ticker.Stop() |
