equal
deleted
inserted
replaced
195 |
195 |
196 private def test_running(): Boolean = synchronized { !_build_graph.is_empty } |
196 private def test_running(): Boolean = synchronized { !_build_graph.is_empty } |
197 |
197 |
198 private def stop_running(): Unit = synchronized { _running.valuesIterator.foreach(_.terminate()) } |
198 private def stop_running(): Unit = synchronized { _running.valuesIterator.foreach(_.terminate()) } |
199 |
199 |
200 private def finished_running(): List[Build_Job] = synchronized { |
200 private def finished_running(): List[Build_Job.Build_Session] = synchronized { |
201 _running.valuesIterator.filter(_.is_finished).toList |
201 List.from( |
|
202 _running.valuesIterator.flatMap { |
|
203 case job: Build_Job.Build_Session if job.is_finished => Some(job) |
|
204 case _ => None |
|
205 }) |
202 } |
206 } |
203 |
207 |
204 private def job_running(name: String, job: Build_Job): Build_Job = synchronized { |
208 private def job_running(name: String, job: Build_Job): Build_Job = synchronized { |
205 _running += (name -> job) |
209 _running += (name -> job) |
206 job |
210 job |
231 val threads = Markup.Session_Timing.Threads.unapply(props) getOrElse 1 |
235 val threads = Markup.Session_Timing.Threads.unapply(props) getOrElse 1 |
232 val timing = Markup.Timing_Properties.get(props) |
236 val timing = Markup.Timing_Properties.get(props) |
233 "Timing " + session_name + " (" + threads + " threads, " + timing.message_factor + ")" |
237 "Timing " + session_name + " (" + threads + " threads, " + timing.message_factor + ")" |
234 } |
238 } |
235 |
239 |
236 private def finish_job(job: Build_Job): Unit = { |
240 private def finish_job(job: Build_Job.Build_Session): Unit = { |
237 val session_name = job.session_name |
241 val session_name = job.session_name |
238 val process_result = job.join |
242 val process_result = job.join |
239 val output_heap = job.finish |
243 val output_heap = job.finish |
240 |
244 |
241 val log_lines = process_result.out_lines.filterNot(Protocol_Message.Marker.test) |
245 val log_lines = process_result.out_lines.filterNot(Protocol_Message.Marker.test) |
349 |
353 |
350 val job = |
354 val job = |
351 synchronized { |
355 synchronized { |
352 val numa_node = next_numa_node() |
356 val numa_node = next_numa_node() |
353 job_running(session_name, |
357 job_running(session_name, |
354 new Build_Job(progress, session_background, store, do_store, |
358 new Build_Job.Build_Session(progress, session_background, store, do_store, |
355 resources, session_setup, input_heaps, numa_node)) |
359 resources, session_setup, input_heaps, numa_node)) |
356 } |
360 } |
357 job.start() |
361 job.start() |
358 } |
362 } |
359 else { |
363 else { |