Make storage.User synchronous, call session.setWS earlier

This commit is contained in:
Ken-Håvard Lieng 2015-06-07 06:16:16 +02:00
parent 7d17b4b30f
commit c6c740e24b
3 changed files with 28 additions and 19 deletions

View file

@ -92,7 +92,7 @@ func handleIRC(client *irc.Client, session *Session) {
}
if msg.Params[0] != "*" {
session.user.LogMessage(client.Host, msg.Nick, msg.Params[0], msg.Trailing)
go session.user.LogMessage(client.Host, msg.Nick, msg.Params[0], msg.Trailing)
}
case irc.Quit:

View file

@ -48,6 +48,7 @@ func handleWS(conn *websocket.Conn) {
if storedSession, exists := sessions[UUID]; exists {
sessionLock.Unlock()
session = storedSession
session.setWS(addr, ws)
log.Println(addr, "attached to", session.numIRC(), "existing IRC connections")
@ -73,13 +74,12 @@ func handleWS(conn *websocket.Conn) {
sessions[UUID] = session
sessionLock.Unlock()
session.setWS(addr, ws)
session.sendJSON("servers", nil)
go session.write()
}
session.setWS(addr, ws)
case "connect":
var data Connect