From da1073b7ea0b3675726d1f29ccf9daf107bcc170 Mon Sep 17 00:00:00 2001 From: Adam Fraser Date: Tue, 3 Oct 2023 16:34:47 -0700 Subject: [PATCH] only interrupt root fibers that are alive --- core/jvm/src/main/scala/zio/ZIOAppPlatformSpecific.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/jvm/src/main/scala/zio/ZIOAppPlatformSpecific.scala b/core/jvm/src/main/scala/zio/ZIOAppPlatformSpecific.scala index dc2aea559e4c..620e37b7205e 100644 --- a/core/jvm/src/main/scala/zio/ZIOAppPlatformSpecific.scala +++ b/core/jvm/src/main/scala/zio/ZIOAppPlatformSpecific.scala @@ -63,7 +63,7 @@ private[zio] trait ZIOAppPlatformSpecific { self: ZIOApp => private def interruptRootFibers(fiberId: FiberId)(implicit trace: Trace): UIO[Unit] = for { roots <- Fiber.roots - _ <- Fiber.interruptAll(roots.view.filterNot(_.id == fiberId)) + _ <- Fiber.interruptAll(roots.view.filter(fiber => fiber.isAlive()(Unsafe.unsafe) && fiber.id != fiberId)) } yield () }