diff --git a/websocket_managed_conn.go b/websocket_managed_conn.go index 50ccb3326..e138f7596 100644 --- a/websocket_managed_conn.go +++ b/websocket_managed_conn.go @@ -326,7 +326,11 @@ func (rtm *RTM) handleEvents(events chan json.RawMessage) { func (rtm *RTM) handleIncomingEvents(events chan json.RawMessage) { for { if err := rtm.receiveIncomingEvent(events); err != nil { - _ = rtm.Disconnect() + select { + case rtm.killChannel <- false: + case <-rtm.disconnected: + default: + } return } }