src/Pure/Tools/build_cluster.scala
changeset 78499 a7dab3b8ebfe
parent 78447 43cbd96de418
child 78505 8cd399b25dac
equal deleted inserted replaced
78498:964de51dd2e4 78499:a7dab3b8ebfe
   215 
   215 
   216   /* cumulative return code */
   216   /* cumulative return code */
   217 
   217 
   218   private var _rc: Int = Process_Result.RC.ok
   218   private var _rc: Int = Process_Result.RC.ok
   219 
   219 
   220   override def rc: Int = synchronized { _rc }
   220   override def rc: Int = _rc.synchronized { _rc }
   221   override def return_code(rc: Int): Unit = synchronized { _rc = Process_Result.RC.merge(_rc, rc) }
   221 
       
   222   override def return_code(rc: Int): Unit =
       
   223     _rc.synchronized { _rc = Process_Result.RC.merge(_rc, rc) }
   222 
   224 
   223   def capture[A](host: Build_Cluster.Host, op: String)(
   225   def capture[A](host: Build_Cluster.Host, op: String)(
   224     e: => A,
   226     e: => A,
   225     msg: String = host.message(op + " ..."),
   227     msg: String = host.message(op + " ..."),
   226     err: Throwable => String = { exn => return_code(exn); host.message("failed to " + op) }
   228     err: Throwable => String = { exn => return_code(exn); host.message("failed to " + op) }