clarified signature;
authorwenzelm
Wed, 08 Feb 2023 10:18:30 +0100
changeset 77236 dce91dab1728
parent 77222 0c073854e6ce
child 77237 f947e045fa61
clarified signature;
src/Pure/Tools/build.scala
src/Pure/Tools/build_job.scala
--- a/src/Pure/Tools/build.scala	Tue Feb 07 14:10:15 2023 +0000
+++ b/src/Pure/Tools/build.scala	Wed Feb 08 10:18:30 2023 +0100
@@ -315,7 +315,13 @@
           case Some((session_name, (input_heaps, job))) =>
             //{{{ finish job
 
-            val (process_result, output_heap) = job.join
+            val process_result = job.join
+
+            val output_heap =
+              if (process_result.ok && job.do_store && store.output_heap(session_name).is_file) {
+                SHA1.shasum(ML_Heap.write_digest(store.output_heap(session_name)), session_name)
+              }
+              else SHA1.no_shasum
 
             val log_lines = process_result.out_lines.filterNot(Protocol_Message.Marker.test)
             val process_result_tail = {
--- a/src/Pure/Tools/build_job.scala	Tue Feb 07 14:10:15 2023 +0000
+++ b/src/Pure/Tools/build_job.scala	Wed Feb 08 10:18:30 2023 +0100
@@ -238,7 +238,7 @@
 class Build_Job(progress: Progress,
   session_background: Sessions.Background,
   store: Sessions.Store,
-  do_store: Boolean,
+  val do_store: Boolean,
   log: Logger,
   session_setup: (String, Session) => Unit,
   val numa_node: Option[Int],
@@ -570,8 +570,8 @@
     else Some(Event_Timer.request(Time.now() + info.timeout) { terminate() })
   }
 
-  def join: (Process_Result, SHA1.Shasum) = {
-    val result1 = future_result.join
+  def join: Process_Result = {
+    val result = future_result.join
 
     val was_timeout =
       timeout_request match {
@@ -579,18 +579,9 @@
         case Some(request) => !request.cancel()
       }
 
-    val result2 =
-      if (result1.ok) result1
-      else if (was_timeout) result1.error(Output.error_message_text("Timeout")).timeout_rc
-      else if (result1.interrupted) result1.error(Output.error_message_text("Interrupt"))
-      else result1
-
-    val heap_shasum =
-      if (result2.ok && do_store && store.output_heap(session_name).is_file) {
-        SHA1.shasum(ML_Heap.write_digest(store.output_heap(session_name)), session_name)
-      }
-      else SHA1.no_shasum
-
-    (result2, heap_shasum)
+    if (result.ok) result
+    else if (was_timeout) result.error(Output.error_message_text("Timeout")).timeout_rc
+    else if (result.interrupted) result.error(Output.error_message_text("Interrupt"))
+    else result
   }
 }