Merge branch '21535-multi-wf-delete'
[arvados.git] / services / ws / handler.go
index 912643ad97c6374006b3fd4b00f90d340157d687..8b6e9b97728257e12e86cd6fe306965be2e0a981 100644 (file)
@@ -38,9 +38,6 @@ func (h *handler) Handle(ws wsConn, logger logrus.FieldLogger, eventSource event
        ctx, cancel := context.WithCancel(ws.Request().Context())
        defer cancel()
 
-       incoming := eventSource.NewSink()
-       defer incoming.Stop()
-
        queue := make(chan interface{}, h.QueueSize)
        h.mtx.Lock()
        h.lastDelay[queue] = 0
@@ -163,6 +160,9 @@ func (h *handler) Handle(ws wsConn, logger logrus.FieldLogger, eventSource event
                ticker := time.NewTicker(h.PingTimeout)
                defer ticker.Stop()
 
+               incoming := eventSource.NewSink()
+               defer incoming.Stop()
+
                for {
                        select {
                        case <-ctx.Done():