# HG changeset patch # User Fabian Huch # Date 1724756269 -7200 # Node ID a1b3abc629afc08787306eb30c6f945bdf3ce0fe # Parent 94bc8f62c835f06b03c7947c8beb1587695f8fe5 manage runner state properly (amending be4c1fbccfe8); diff -r 94bc8f62c835 -r a1b3abc629af src/Pure/Build/build_manager.scala --- a/src/Pure/Build/build_manager.scala Mon Aug 26 22:14:19 2024 +0100 +++ b/src/Pure/Build/build_manager.scala Tue Aug 27 12:57:49 2024 +0200 @@ -802,10 +802,10 @@ result_futures + (context.name -> result_future)) } - def running: List[String] = process_futures.keys.toList + def running: List[String] = process_futures.keys.toList.filterNot(cancelling_until.contains) private def do_terminate(name: String): Boolean = { - val is_late = cancelling_until(name) > Time.now() + val is_late = Time.now() > cancelling_until(name) if (is_late) process_futures(name).join.terminate() is_late } @@ -850,9 +850,7 @@ if do_cancel(process_future) } yield name -> (Time.now() + cancel_timeout) - copy( - process_futures.filterNot((name, _) => cancelled.contains(name)), - cancelling_until = cancelling_until ++ cancelling_until1) + copy(cancelling_until = cancelling_until ++ cancelling_until1) } } }