tuned;
authorwenzelm
Tue, 21 Jul 2009 13:42:48 +0200
changeset 32096 cb9adb13f892
parent 32095 ad4be204fdfe
child 32097 f7fb7132beaf
tuned;
src/Pure/Concurrent/future.ML
--- a/src/Pure/Concurrent/future.ML	Tue Jul 21 11:30:12 2009 +0200
+++ b/src/Pure/Concurrent/future.ML	Tue Jul 21 13:42:48 2009 +0200
@@ -324,12 +324,12 @@
         error "Cannot join future values within critical section";
 
       val worker = is_worker ();
+      val _ = if worker then join_deps (map task_of xs) else ();
+
       fun join_wait x =
         if SYNCHRONIZED "join_wait" (fn () =>
           is_finished x orelse (if worker then worker_wait () else wait (); false))
         then () else join_wait x;
-
-      val _ = if worker then join_deps (map task_of xs) else ();
       val _ = List.app join_wait xs;
 
     in map get_result xs end) ();