diff --git a/structs.go b/structs.go index 5445ee8..68866ca 100644 --- a/structs.go +++ b/structs.go @@ -23,7 +23,7 @@ import ( // token : The authentication token returned from Discord // Debug : If set to ture debug logging will be displayed. type Session struct { - sync.Mutex + sync.RWMutex // General configurable settings. Token string // Authentication token for this session diff --git a/wsapi.go b/wsapi.go index 183986f..c3ab448 100644 --- a/wsapi.go +++ b/wsapi.go @@ -163,8 +163,9 @@ func (s *Session) Listen() (err error) { listening := s.listening for { - messageType, message, err := s.wsConn.ReadMessage() - if err != nil { + messageType, message, err1 := s.wsConn.ReadMessage() + if err1 != nil { + err = err1 // Defer so we get better log ordering. defer s.Close() return fmt.Errorf("Websocket Listen Error", err)