src/Pure/Concurrent/isabelle_thread.ML
changeset 78755 42e48ad59cda
parent 78753 f40b59292288
child 78757 a094bf81a496
equal deleted inserted replaced
78754:5838285a8245 78755:42e48ad59cda
   151 end;
   151 end;
   152 
   152 
   153 fun expose_interrupt_result () =
   153 fun expose_interrupt_result () =
   154   let
   154   let
   155     val orig_atts = Thread_Attributes.safe_interrupts (Thread_Attributes.get_attributes ());
   155     val orig_atts = Thread_Attributes.safe_interrupts (Thread_Attributes.get_attributes ());
   156     val _ = Thread_Attributes.set_attributes Thread_Attributes.test_interrupts;
   156     fun main () =
   157     val test = Exn.capture Thread.Thread.testInterrupt ();
   157       (Thread_Attributes.set_attributes Thread_Attributes.test_interrupts;
       
   158        Thread.Thread.testInterrupt ());
       
   159     val test = Exn.capture main ();
   158     val _ = Thread_Attributes.set_attributes orig_atts;
   160     val _ = Thread_Attributes.set_attributes orig_atts;
   159   in test end;
   161   in test end;
   160 
   162 
   161 val expose_interrupt = Exn.release o expose_interrupt_result;
   163 val expose_interrupt = Exn.release o expose_interrupt_result;
   162 
   164