1.1 --- a/src/Pure/Concurrent/future.ML Fri May 28 22:51:04 2010 +0200
1.2 +++ b/src/Pure/Concurrent/future.ML Sat May 29 15:31:15 2010 +0200
1.3 @@ -409,8 +409,10 @@
1.4 fun get_result x =
1.5 (case peek x of
1.6 NONE => Exn.Exn (SYS_ERROR "unfinished future")
1.7 - | SOME (Exn.Exn Exn.Interrupt) =>
1.8 - Exn.Exn (Exn.EXCEPTIONS (Exn.flatten_list (Task_Queue.group_status (group_of x))))
1.9 + | SOME (exn as Exn.Exn Exn.Interrupt) =>
1.10 + (case Exn.flatten_list (Task_Queue.group_status (group_of x)) of
1.11 + [] => exn
1.12 + | exns => Exn.Exn (Exn.EXCEPTIONS exns))
1.13 | SOME res => res);
1.14
1.15 fun join_next deps = (*requires SYNCHRONIZED*)