src/Pure/System/ml_process.scala
changeset 62546 973b12bccbc5
parent 62545 8ebffdaf2ce2
child 62547 b33dea503665
equal deleted inserted replaced
62545:8ebffdaf2ce2 62546:973b12bccbc5
    76     // bash
    76     // bash
    77     val bash_args =
    77     val bash_args =
    78       Word.explode(Isabelle_System.getenv("ML_OPTIONS")) :::
    78       Word.explode(Isabelle_System.getenv("ML_OPTIONS")) :::
    79       (eval_heaps ::: eval_exit ::: eval_secure ::: eval_modes ::: eval_options ::: eval_process).
    79       (eval_heaps ::: eval_exit ::: eval_secure ::: eval_modes ::: eval_options ::: eval_process).
    80         map(eval => List("--eval", eval)).flatten ::: args
    80         map(eval => List("--eval", eval)).flatten ::: args
    81     val bash_script =
    81 
       
    82     Bash.process(env = env, script =
    82       """
    83       """
    83         [ -z "$ISABELLE_TMP_PREFIX" ] && ISABELLE_TMP_PREFIX=/tmp/isabelle
    84         [ -z "$ISABELLE_TMP_PREFIX" ] && ISABELLE_TMP_PREFIX=/tmp/isabelle
    84 
    85 
    85         export ISABELLE_PID="$$"
    86         export ISABELLE_PID="$$"
    86         export ISABELLE_TMP="$ISABELLE_TMP_PREFIX$ISABELLE_PID"
    87         export ISABELLE_TMP="$ISABELLE_TMP_PREFIX$ISABELLE_PID"
    93 
    94 
    94         rm -f "$ISABELLE_PROCESS_OPTIONS"
    95         rm -f "$ISABELLE_PROCESS_OPTIONS"
    95         rmdir "$ISABELLE_TMP"
    96         rmdir "$ISABELLE_TMP"
    96 
    97 
    97         exit "$RC"
    98         exit "$RC"
    98       """
    99       """)
    99 
       
   100     Bash.process(bash_script, env = env)
       
   101   }
   100   }
   102 }
   101 }