more gentle termination (like Bash.multi_kill without signal) to give prover a chance to conclude;
--- a/src/Pure/PIDE/prover.scala Sun Feb 14 13:38:31 2016 +0100
+++ b/src/Pure/PIDE/prover.scala Sun Feb 14 14:33:32 2016 +0100
@@ -183,9 +183,15 @@
def terminate()
{
+ system_output("Terminating prover process")
command_input_close()
- system_output("Terminating prover process")
- terminate_process()
+
+ var count = 10
+ while (!process_result.is_finished && count > 0) {
+ Thread.sleep(100)
+ count -= 1
+ }
+ if (!process_result.is_finished) terminate_process()
}