diff --git a/pkg/backend/filestate/backend.go b/pkg/backend/filestate/backend.go index c606419b0..80f9e06fa 100644 --- a/pkg/backend/filestate/backend.go +++ b/pkg/backend/filestate/backend.go @@ -342,12 +342,12 @@ func (b *localBackend) apply(ctx context.Context, kind apitype.UpdateKind, stack <-displayDone scope.Close() // Don't take any cancellations anymore, we're shutting down. close(engineEvents) - close(displayEvents) close(displayDone) contract.IgnoreClose(manager) // Make sure the goroutine writing to displayEvents and events has exited before proceeding. <-eventsDone + close(displayEvents) // Save update results. result := backend.SucceededResult diff --git a/pkg/backend/httpstate/backend.go b/pkg/backend/httpstate/backend.go index e774954b0..7f9b79967 100644 --- a/pkg/backend/httpstate/backend.go +++ b/pkg/backend/httpstate/backend.go @@ -828,13 +828,13 @@ func (b *cloudBackend) runEngineAction( <-displayDone scope.Close() // Don't take any cancellations anymore, we're shutting down. close(engineEvents) - close(displayEvents) close(displayDone) contract.IgnoreClose(manager) // Make sure that the goroutine writing to displayEvents and callerEventsOpt // has exited before proceeding <-eventsDone + close(displayEvents) status := apitype.UpdateStatusSucceeded if err != nil {