future_scheduler: no global task group, exceptions via collective join;
authorwenzelm
Thu, 04 Dec 2008 23:02:46 +0100
changeset 28976 53c96f58e38f
parent 28975 ec120dc11e8b
child 28977 08990d02211f
future_scheduler: no global task group, exceptions via collective join; finish: removed PureThy.force_proofs, back to old version;
src/Pure/Thy/thy_info.ML
--- a/src/Pure/Thy/thy_info.ML	Thu Dec 04 23:01:11 2008 +0100
+++ b/src/Pure/Thy/thy_info.ML	Thu Dec 04 23:02:46 2008 +0100
@@ -320,14 +320,12 @@
     val tasks = Graph.topological_order task_graph |> map_filter (fn name =>
       (case Graph.get_node task_graph name of Task body => SOME (name, body) | _ => NONE));
 
-    val group = TaskQueue.new_group ();
     fun future (name, body) tab =
       let
         val deps = map_filter (Symtab.lookup tab) (Graph.imm_preds task_graph name);
-        val x = Future.future (SOME group) deps true body;
+        val x = Future.future NONE deps true body;
       in (x, Symtab.update (name, Future.task_of x) tab) end;
     val _ = ignore (Exn.release_all (Future.join_results (#1 (fold_map future tasks Symtab.empty))));
-    val _ = List.app (PureThy.force_proofs o get_theory o #1) tasks;
   in () end;
 
 local
@@ -589,8 +587,6 @@
 
 (* finish all theories *)
 
-fun finish () = change_thys (Graph.map_nodes
-  (fn (SOME _, SOME thy) => (NONE, (PureThy.force_proofs thy; SOME thy))
-    | (_, entry) => (NONE, entry)));
+fun finish () = change_thys (Graph.map_nodes (fn (_, entry) => (NONE, entry)));
 
 end;