src/Pure/Tools/build_process.scala
changeset 78571 ed07f0ebf31c
parent 78570 25c04910dcfa
child 78573 980f3cfcbc2c
equal deleted inserted replaced
78570:25c04910dcfa 78571:ed07f0ebf31c
   952       List.from(
   952       List.from(
   953         for (session <- sessions1.iterator if !old_pending(session.name))
   953         for (session <- sessions1.iterator if !old_pending(session.name))
   954           yield Build_Process.Task(session.name, session.deps, JSON.Object.empty, build_uuid))
   954           yield Build_Process.Task(session.name, session.deps, JSON.Object.empty, build_uuid))
   955     val pending1 = new_pending ::: state.pending
   955     val pending1 = new_pending ::: state.pending
   956 
   956 
   957     state.copy(
   957     state.copy(sessions = sessions1, pending = pending1)
   958       numa_nodes = Host.numa_nodes(enabled = build_context.numa_shuffling),
       
   959       sessions = sessions1,
       
   960       pending = pending1)
       
   961   }
   958   }
   962 
   959 
   963   protected def next_jobs(state: Build_Process.State): List[String] = {
   960   protected def next_jobs(state: Build_Process.State): List[String] = {
   964     val limit = {
   961     val limit = {
   965       if (progress.stopped) { if (build_context.master) Int.MaxValue else 0 }
   962       if (progress.stopped) { if (build_context.master) Int.MaxValue else 0 }
  1088 
  1085 
  1089 
  1086 
  1090   /* run */
  1087   /* run */
  1091 
  1088 
  1092   def run(): Build.Results = {
  1089   def run(): Build.Results = {
  1093     if (build_context.master) {
  1090     synchronized_database("Build_Process.init") {
  1094       _build_cluster.init()
  1091       if (build_context.master) {
  1095       synchronized_database("Build_Process.init") { _state = init_state(_state) }
  1092         _build_cluster.init()
       
  1093         _state = init_state(_state)
       
  1094       }
       
  1095       _state = _state.copy(numa_nodes = Host.numa_nodes(enabled = build_context.numa_shuffling))
  1096     }
  1096     }
  1097 
  1097 
  1098     def finished(): Boolean = synchronized_database("Build_Process.test") {
  1098     def finished(): Boolean = synchronized_database("Build_Process.test") {
  1099       if (!build_context.master && progress.stopped) _state.build_running.isEmpty
  1099       if (!build_context.master && progress.stopped) _state.build_running.isEmpty
  1100       else _state.pending.isEmpty
  1100       else _state.pending.isEmpty