3
0
mirror of https://github.com/ergochat/ergo.git synced 2024-12-22 18:52:41 +01:00

don't double-close socket

This commit is contained in:
Jeremy Latt 2014-02-14 19:05:30 -08:00
parent 4d9742d033
commit 3a9027e3dc
3 changed files with 2 additions and 7 deletions

View File

@ -19,17 +19,15 @@ type Client struct {
idleTimer *time.Timer idleTimer *time.Timer
invisible bool invisible bool
loginTimer *time.Timer loginTimer *time.Timer
mutex *sync.Mutex
nick string nick string
operator bool operator bool
phase Phase phase Phase
quitTimer *time.Timer quitTimer *time.Timer
realname string realname string
registered bool
replies chan Reply replies chan Reply
server *Server server *Server
socket *Socket socket *Socket
mutex *sync.Mutex
authorized bool
username string username string
} }
@ -119,7 +117,7 @@ func (c *Client) readCommands() {
c.server.Command(m) c.server.Command(m)
} }
if c.registered { if c.phase == Normal {
c.ConnectionClosed() c.ConnectionClosed()
} else { } else {
c.Destroy() c.Destroy()

View File

@ -169,7 +169,6 @@ func (s *Server) GenerateGuestNick() string {
func (s *Server) tryRegister(c *Client) { func (s *Server) tryRegister(c *Client) {
if c.HasNick() && c.HasUsername() { if c.HasNick() && c.HasUsername() {
c.registered = true
c.phase = Normal c.phase = Normal
c.loginTimer.Stop() c.loginTimer.Stop()
c.Reply( c.Reply(
@ -250,7 +249,6 @@ func (m *PassCommand) HandleAuthServer(s *Server) {
return return
} }
client.authorized = true
client.phase = Registration client.phase = Registration
} }

View File

@ -111,7 +111,6 @@ func (socket *Socket) writeLines() {
break break
} }
} }
socket.Close()
} }
func (socket *Socket) maybeLogWriteError(err error) bool { func (socket *Socket) maybeLogWriteError(err error) bool {