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);
authorwenzelm
Thu Apr 16 14:54:57 2009 +0200 (2009-04-16)
changeset 30899d394a17d4fdb
parent 30898 16912b4e6625
child 30900 b367e75a094c
child 30901 9343d4b7c5bf
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);
src/HOL/Tools/atp_wrapper.ML
     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