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:
parent
4d9742d033
commit
3a9027e3dc
@ -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()
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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 {
|
||||||
|
Loading…
Reference in New Issue
Block a user