diff --git a/pkg/apiclient/watch-intermediary.go b/pkg/apiclient/watch-intermediary.go index 92f0dd6b908f..95b9feeb754a 100644 --- a/pkg/apiclient/watch-intermediary.go +++ b/pkg/apiclient/watch-intermediary.go @@ -11,20 +11,20 @@ type watchIntermediary struct { events chan *workflowpkg.WorkflowWatchEvent } +func (w watchIntermediary) Send(e *workflowpkg.WorkflowWatchEvent) error { + w.events <- e + return nil +} + func (w watchIntermediary) Recv() (*workflowpkg.WorkflowWatchEvent, error) { select { case e := <-w.error: return nil, e - default: - return <-w.events, nil + case event := <-w.events: + return event, nil } } -func (w watchIntermediary) Send(e *workflowpkg.WorkflowWatchEvent) error { - w.events <- e - return nil -} - func newWatchIntermediary(ctx context.Context) *watchIntermediary { return &watchIntermediary{newAbstractIntermediary(ctx), make(chan *workflowpkg.WorkflowWatchEvent)} }