external_prover: "exec" the command line, in order to preserve the exact process context of the "system" invocation (this recovers interruptibility of E-1.0, which assumes to be the process group leader);
1.1 --- a/src/HOL/Tools/atp_wrapper.ML Wed Apr 15 20:03:08 2009 +0200
1.2 +++ b/src/HOL/Tools/atp_wrapper.ML Thu Apr 16 14:54:57 2009 +0200
1.3 @@ -68,7 +68,7 @@
1.4 val fname = File.platform_path probfile
1.5 val thm_names = write_problem_file probfile th subgoalno axiom_clauses thy
1.6 val cmdline =
1.7 - if File.exists cmd then File.shell_path cmd ^ " " ^ args
1.8 + if File.exists cmd then "exec " ^ File.shell_path cmd ^ " " ^ args
1.9 else error ("Bad executable: " ^ Path.implode cmd)
1.10 val (proof, rc) = system_out (cmdline ^ " " ^ fname)
1.11