src/Pure/Concurrent/future.ML
changeset 78757 a094bf81a496
parent 78753 f40b59292288
child 78759 461e924cc825
equal deleted inserted replaced
78756:96b3d13606b1 78757:a094bf81a496
   439     val context = Context.get_generic_context ();
   439     val context = Context.get_generic_context ();
   440     fun job ok =
   440     fun job ok =
   441       let
   441       let
   442         val res =
   442         val res =
   443           if ok then
   443           if ok then
   444             Exn.capture (fn () =>
   444             Exn.capture_body (fn () =>
   445               Thread_Attributes.with_attributes atts (fn _ =>
   445               Thread_Attributes.with_attributes atts (fn _ =>
   446                 (Position.setmp_thread_data pos o Context.setmp_generic_context context) e ())) ()
   446                 (Position.setmp_thread_data pos o Context.setmp_generic_context context) e ()))
   447           else Isabelle_Thread.interrupt_exn;
   447           else Isabelle_Thread.interrupt_exn;
   448       in assign_result group result (identify_result pos res) end;
   448       in assign_result group result (identify_result pos res) end;
   449   in (result, job) end;
   449   in (result, job) end;
   450 
   450 
   451 
   451