diff --git a/packages/effect/src/internal/stream.ts b/packages/effect/src/internal/stream.ts index fcac7602d2..beec45a7fb 100644 --- a/packages/effect/src/internal/stream.ts +++ b/packages/effect/src/internal/stream.ts @@ -4697,7 +4697,6 @@ export const raceAll = >>( return unwrap( Effect.gen(function*() { const halts = yield* Effect.all(streams.map(() => Deferred.make())) - let finishes = streams.map(() => false) return mergeAll( streams.map((s, index) => s.pipe( @@ -4706,13 +4705,11 @@ export const raceAll = >>( return Effect.void } finished = true - finishes = finishes.map((_, i) => !(i === index)) return Effect.all( halts.map((def, i) => i === index ? Effect.void : Deferred.succeed(def, void 0)) ) }), - takeWhile(() => !finishes[index]), - interruptWhenDeferred(halts[index]!) + haltWhenDeferred(halts[index]!) ) ), { concurrency: "unbounded" }