proper Future.shutdown, to wait for the scheduler thread to finish remaining tasks (notably external processes);
authorwenzelm
Fri, 19 Jul 2013 23:29:43 +0200
changeset 52712 43e48bb554ba
parent 52711 155f02cacb2d
child 52713 cd3ce844248f
proper Future.shutdown, to wait for the scheduler thread to finish remaining tasks (notably external processes);
src/Pure/System/isabelle_process.ML
--- a/src/Pure/System/isabelle_process.ML	Fri Jul 19 20:56:39 2013 +0200
+++ b/src/Pure/System/isabelle_process.ML	Fri Jul 19 23:29:43 2013 +0200
@@ -188,7 +188,7 @@
     | name :: args => (worker_guest (fn () => run_command name args); true))
     handle Runtime.TERMINATE => false
       | exn => (Output.error_msg (ML_Compiler.exn_message exn) handle crash => recover crash; true);
-  in if continue then loop channel else () end;
+  in if continue then loop channel else Future.shutdown () end;
 
 end;