From 5a16c2581e17f58a549c2abbefe4e0f7ea23720c Mon Sep 17 00:00:00 2001 From: peted Date: Sat, 14 Nov 2015 23:51:15 +1000 Subject: [PATCH] revert some changes but also update err chan for new connection so further errors are received in Loop --- irc.go | 8 +++----- irc_struct.go | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/irc.go b/irc.go index ffa2ecd..06917d5 100644 --- a/irc.go +++ b/irc.go @@ -196,6 +196,7 @@ func (irc *Connection) Loop() { irc.Log.Printf("Error while reconnecting: %s\n", err) time.Sleep(60 * time.Second) } else { + errChan = irc.ErrorChan() break } } @@ -366,9 +367,6 @@ func (irc *Connection) Disconnect() { // Reconnect to a server using the current connection. func (irc *Connection) Reconnect() error { if irc.end != nil { - for i := 0; i < 5; i++ { - irc.end <- 1 - } close(irc.end) } @@ -376,7 +374,7 @@ func (irc *Connection) Reconnect() error { irc.Wait() //make sure that wait group is cleared ensuring that all spawned goroutines have completed - irc.end = make(chan int, 5) + irc.end = make(chan struct{}) return irc.Connect(irc.Server) } @@ -464,7 +462,7 @@ func IRC(nick, user string) *Connection { nickcurrent: nick, user: user, Log: log.New(os.Stdout, "", log.LstdFlags), - end: make(chan int, 5), + end: make(chan struct{}), Version: VERSION, KeepAlive: 4 * time.Minute, Timeout: 1 * time.Minute, diff --git a/irc_struct.go b/irc_struct.go index 46d9112..fb301a1 100644 --- a/irc_struct.go +++ b/irc_struct.go @@ -27,7 +27,7 @@ type Connection struct { socket net.Conn pwrite chan string - end chan int + end chan struct{} nick string //The nickname we want. nickcurrent string //The nickname we currently have.