From 5c680ac55f83996a175837c57c81a764eaf73904 Mon Sep 17 00:00:00 2001 From: Orion Kindel Date: Wed, 17 Jul 2024 13:26:44 -0500 Subject: [PATCH] fix: writable issue --- src/Node.Stream.Object.purs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Node.Stream.Object.purs b/src/Node.Stream.Object.purs index 774467a..cacc5ba 100644 --- a/src/Node.Stream.Object.purs +++ b/src/Node.Stream.Object.purs @@ -191,9 +191,17 @@ awaitReadableOrClosed s = Aff.supervise do awaitFinished :: forall s a. Write s a => s -> Aff Unit awaitFinished s = Aff.supervise do - fiber <- Aff.forkAff $ onceAff0 finishH s + fiber <- + Aff.forkAff + $ parOneOf + [ onceAff0 finishH s $> Right unit + , Left <$> onceAff1 errorH s + ] finished <- liftEffect $ isWritableFinished s - if not finished then Aff.joinFiber fiber else Aff.killFiber (error "") fiber + if not finished then + liftEither =<< Aff.joinFiber fiber + else + Aff.killFiber (error "") fiber awaitWritableOrClosed :: forall s a. Write s a => s -> Aff Unit awaitWritableOrClosed s = Aff.supervise do