# HG changeset patch # User wenzelm # Date 1275139875 -7200 # Node ID 71c8565dae38896fbbbf9fae534473f4cd07b319 # Parent 23ab9a5c41cf8443f866a7290a3112b6effb39ff future result: retain plain Interrupt for vacuous group exceptions; diff -r 23ab9a5c41cf -r 71c8565dae38 src/Pure/Concurrent/future.ML --- a/src/Pure/Concurrent/future.ML Fri May 28 22:51:04 2010 +0200 +++ b/src/Pure/Concurrent/future.ML Sat May 29 15:31:15 2010 +0200 @@ -409,8 +409,10 @@ fun get_result x = (case peek x of NONE => Exn.Exn (SYS_ERROR "unfinished future") - | SOME (Exn.Exn Exn.Interrupt) => - Exn.Exn (Exn.EXCEPTIONS (Exn.flatten_list (Task_Queue.group_status (group_of x)))) + | SOME (exn as Exn.Exn Exn.Interrupt) => + (case Exn.flatten_list (Task_Queue.group_status (group_of x)) of + [] => exn + | exns => Exn.Exn (Exn.EXCEPTIONS exns)) | SOME res => res); fun join_next deps = (*requires SYNCHRONIZED*)