equal
deleted
inserted
replaced
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 |