Return error messages for some exposed methods, fix panic when connection is closed. Close #21.
This commit is contained in:
@@ -38,8 +38,6 @@ loop:
|
||||
if _, ok := h.sessions[s]; ok {
|
||||
h.rwmutex.Lock()
|
||||
delete(h.sessions, s)
|
||||
s.conn.Close()
|
||||
close(s.output)
|
||||
h.rwmutex.Unlock()
|
||||
}
|
||||
case m := <-h.broadcast:
|
||||
@@ -58,8 +56,7 @@ loop:
|
||||
h.rwmutex.Lock()
|
||||
for s := range h.sessions {
|
||||
delete(h.sessions, s)
|
||||
s.conn.Close()
|
||||
close(s.output)
|
||||
s.Close()
|
||||
}
|
||||
h.open = false
|
||||
h.rwmutex.Unlock()
|
||||
@@ -68,6 +65,12 @@ loop:
|
||||
}
|
||||
}
|
||||
|
||||
func (h *hub) closed() bool {
|
||||
h.rwmutex.RLock()
|
||||
defer h.rwmutex.RUnlock()
|
||||
return !h.open
|
||||
}
|
||||
|
||||
func (h *hub) len() int {
|
||||
h.rwmutex.RLock()
|
||||
defer h.rwmutex.RUnlock()
|
||||
|
||||
Reference in New Issue
Block a user