+9
-3
server/handle_sync_subscribe_repos.go
+9
-3
server/handle_sync_subscribe_repos.go
···
43
43
// drop the connection whenever a subscriber disconnects from the socket, we should get errors
44
44
go func() {
45
45
for {
46
-
if _, _, err := conn.ReadMessage(); err != nil {
47
-
logger.Warn("websocket error", "err", err)
48
-
cancel()
46
+
select {
47
+
case <-ctx.Done():
48
+
return
49
+
default:
50
+
if _, _, err := conn.ReadMessage(); err != nil {
51
+
logger.Warn("websocket error", "err", err)
52
+
cancel()
53
+
return
54
+
}
49
55
}
50
56
}
51
57
}()