src/Pure/Build/build_job.scala
changeset 83301 88e33d16f2de
parent 83299 7d8713e1890b
child 83310 d0331badb854
--- a/src/Pure/Build/build_job.scala	Fri Oct 17 15:30:38 2025 +0200
+++ b/src/Pure/Build/build_job.scala	Fri Oct 17 15:56:10 2025 +0200
@@ -164,6 +164,7 @@
       val state = get_state()
       val result =
         synchronized {
+          for (id <- state.progress_theories) nodes_changed += id
           val nodes_status1 =
             nodes_changed.foldLeft(nodes_status)({ case (status, state_id) =>
               state.theory_snapshot(state_id, build_blobs) match {
@@ -191,7 +192,8 @@
       result.foreach(progress.nodes_status)
     }
 
-    private val nodes_delay = Delay.first(build_progress_delay) { nodes_status_progress() }
+    private lazy val nodes_delay: Delay =
+      Delay.first(build_progress_delay) { nodes_status_progress(); nodes_delay.invoke() }
 
     def nodes_status_sync(): Unit = {
       nodes_delay.revoke()