@@ -149,7 +149,7 @@ func main() {
select {
case <-done:
log.Println("Successfully close")
- case <-time.After(1 * time.Second):
+ case <-time.After(5 * time.Second):
log.Println("Forced close")
}
return
@@ -153,6 +153,15 @@ func getWSHandler(hub circolog.Hub) http.HandlerFunc {
hub.Unregister <- c
conn.Close()
}()
+ go func() {
+ for {
+ _, _, err := conn.ReadMessage()
+ if err != nil {
+ conn.Close()
+ return
+ }
+ }()
for {
case message, ok := <-c.Messages: