Fix memory leak with websocket not removing unused listeners
This commit is contained in:
@@ -52,6 +52,7 @@ func (h *Handler) ListenForServerEvents(ctx context.Context) {
|
|||||||
h.server.Events().Subscribe(event, eventChannel)
|
h.server.Events().Subscribe(event, eventChannel)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for d := range eventChannel {
|
||||||
select {
|
select {
|
||||||
case <-ctx.Done():
|
case <-ctx.Done():
|
||||||
for _, event := range events {
|
for _, event := range events {
|
||||||
@@ -60,8 +61,6 @@ func (h *Handler) ListenForServerEvents(ctx context.Context) {
|
|||||||
|
|
||||||
close(eventChannel)
|
close(eventChannel)
|
||||||
default:
|
default:
|
||||||
// Listen for different events emitted by the server and respond to them appropriately.
|
|
||||||
for d := range eventChannel {
|
|
||||||
h.SendJson(&Message{
|
h.SendJson(&Message{
|
||||||
Event: d.Topic,
|
Event: d.Topic,
|
||||||
Args: []string{d.Data},
|
Args: []string{d.Data},
|
||||||
|
|||||||
Reference in New Issue
Block a user