equal
deleted
inserted
replaced
877 db |
877 db |
878 } |
878 } |
879 } |
879 } |
880 catch { case exn: Throwable => close(); throw exn } |
880 catch { case exn: Throwable => close(); throw exn } |
881 |
881 |
|
882 protected val build_delay: Time = |
|
883 build_options.seconds(if (_build_database.isEmpty) "build_delay" else "build_database_delay") |
|
884 |
882 private val _host_database: Option[SQL.Database] = |
885 private val _host_database: Option[SQL.Database] = |
883 try { store.maybe_open_build_database(path = Host.private_data.database, server = server) } |
886 try { store.maybe_open_build_database(path = Host.private_data.database, server = server) } |
884 catch { case exn: Throwable => close(); throw exn } |
887 catch { case exn: Throwable => close(); throw exn } |
885 |
888 |
886 protected val (progress, worker_uuid) = synchronized { |
889 protected val (progress, worker_uuid) = synchronized { |
1080 } |
1083 } |
1081 |
1084 |
1082 def finished(): Boolean = synchronized_database("Build_Process.test") { _state.finished } |
1085 def finished(): Boolean = synchronized_database("Build_Process.test") { _state.finished } |
1083 |
1086 |
1084 def sleep(): Unit = |
1087 def sleep(): Unit = |
1085 Isabelle_Thread.interrupt_handler(_ => progress.stop()) { |
1088 Isabelle_Thread.interrupt_handler(_ => progress.stop()) { build_delay.sleep() } |
1086 build_options.seconds("build_delay").sleep() |
|
1087 } |
|
1088 |
1089 |
1089 def check_jobs(): Boolean = synchronized_database("Build_Process.check_jobs") { |
1090 def check_jobs(): Boolean = synchronized_database("Build_Process.check_jobs") { |
1090 val jobs = next_jobs(_state) |
1091 val jobs = next_jobs(_state) |
1091 for (name <- jobs) { |
1092 for (name <- jobs) { |
1092 if (is_session_name(name)) { |
1093 if (is_session_name(name)) { |