diff -r 77094a0bbc3e -r ff3677972e3f src/Pure/Concurrent/future.ML --- a/src/Pure/Concurrent/future.ML Wed Jul 22 10:45:35 2009 +0200 +++ b/src/Pure/Concurrent/future.ML Wed Jul 22 10:46:35 2009 +0200 @@ -161,8 +161,9 @@ let val res = if ok then - Multithreading.with_attributes Multithreading.restricted_interrupts - (fn _ => fn () => Exn.capture e ()) () + Exn.capture + (Multithreading.with_attributes Multithreading.restricted_interrupts + (fn _ => fn () => e ())) () else Exn.Exn Exn.Interrupt; val _ = result := SOME res; in