src/Pure/System/process_result.scala
changeset 62401 15a2533f1f0a
parent 62400 833af0d6d469
child 62402 bff56eae3ec5
--- a/src/Pure/System/process_result.scala	Wed Feb 24 22:11:28 2016 +0100
+++ b/src/Pure/System/process_result.scala	Wed Feb 24 22:40:19 2016 +0100
@@ -6,7 +6,8 @@
 
 package isabelle
 
-final case class Process_Result(out_lines: List[String], err_lines: List[String], rc: Int)
+final case class Process_Result(
+  out_lines: List[String], err_lines: List[String], rc: Int, timeout: Option[Time])
 {
   def out: String = cat_lines(out_lines)
   def err: String = cat_lines(err_lines)
@@ -14,6 +15,8 @@
   def error(s: String, err_rc: Int = 0): Process_Result =
     copy(err_lines = err_lines ::: List(s), rc = rc max err_rc)
 
+  def set_timeout(t: Time): Process_Result = copy(timeout = Some(t))
+
   def ok: Boolean = rc == 0
   def interrupted: Boolean = rc == Exn.Interrupt.return_code
 
@@ -26,6 +29,6 @@
   {
     Output.warning(Library.trim_line(err))
     Output.writeln(Library.trim_line(out))
-    Process_Result(Nil, Nil, rc)
+    copy(out_lines = Nil, err_lines = Nil)
   }
 }