equal
deleted
inserted
replaced
226 |
226 |
227 fun async_state tr st = |
227 fun async_state tr st = |
228 ignore |
228 ignore |
229 (singleton |
229 (singleton |
230 (Future.forks {name = "Document.async_state", |
230 (Future.forks {name = "Document.async_state", |
231 group = SOME (Task_Queue.new_group NONE), deps = [], pri = 0}) |
231 group = SOME (Task_Queue.new_group NONE), deps = [], pri = 0, interrupts = true}) |
232 (fn () => |
232 (fn () => |
233 Toplevel.setmp_thread_position tr |
233 Toplevel.setmp_thread_position tr |
234 (fn () => Toplevel.print_state false st) ())); |
234 (fn () => Toplevel.print_state false st) ())); |
235 |
235 |
236 fun run int tr st = |
236 fun run int tr st = |
357 |
357 |
358 fun force_exec NONE = () |
358 fun force_exec NONE = () |
359 | force_exec (SOME exec_id) = ignore (Lazy.force (the_exec state exec_id)); |
359 | force_exec (SOME exec_id) = ignore (Lazy.force (the_exec state exec_id)); |
360 |
360 |
361 val execution' = (* FIXME proper node deps *) |
361 val execution' = (* FIXME proper node deps *) |
362 Future.forks {name = "Document.execute", group = NONE, deps = [], pri = 1} |
362 Future.forks |
|
363 {name = "Document.execute", group = NONE, deps = [], pri = 1, interrupts = true} |
363 [fn () => |
364 [fn () => |
364 node_names_of version |> List.app (fn name => |
365 node_names_of version |> List.app (fn name => |
365 fold_entries NONE (fn (_, exec) => fn () => force_exec exec) |
366 fold_entries NONE (fn (_, exec) => fn () => force_exec exec) |
366 (get_node version name) ())]; |
367 (get_node version name) ())]; |
367 |
368 |