--- a/src/Pure/Concurrent/future.ML Wed Aug 05 12:34:23 2020 +0200
+++ b/src/Pure/Concurrent/future.ML Wed Aug 05 12:42:43 2020 +0200
@@ -27,6 +27,7 @@
val default_params: params
val forks: params -> (unit -> 'a) list -> 'a future list
val fork: (unit -> 'a) -> 'a future
+ val get_result: 'a future -> 'a Exn.result
val join_results: 'a future list -> 'a Exn.result list
val join_result: 'a future -> 'a Exn.result
val joins: 'a future list -> 'a list
--- a/src/Pure/Concurrent/lazy.ML Wed Aug 05 12:34:23 2020 +0200
+++ b/src/Pure/Concurrent/lazy.ML Wed Aug 05 12:42:43 2020 +0200
@@ -103,7 +103,7 @@
let
val res0 = Exn.capture (restore_attributes e) ();
val _ = Exn.capture (fn () => Future.fulfill_result x res0) ();
- val res = Future.join_result x;
+ val res = Future.get_result x;
val _ =
if not (Exn.is_interrupt_exn res) then
Synchronized.assign var (Result (Future.value_result res))