src/Pure/System/isabelle_process.scala
changeset 62634 aa3b47b32100
parent 62633 e57416b649d5
child 62668 360d3464919c
equal deleted inserted replaced
62633:e57416b649d5 62634:aa3b47b32100
     9 
     9 
    10 object Isabelle_Process
    10 object Isabelle_Process
    11 {
    11 {
    12   def apply(
    12   def apply(
    13     options: Options,
    13     options: Options,
    14     heap: String = "",
    14     logic: String = "",
    15     args: List[String] = Nil,
    15     args: List[String] = Nil,
    16     modes: List[String] = Nil,
    16     modes: List[String] = Nil,
    17     secure: Boolean = false,
    17     secure: Boolean = false,
    18     receiver: Prover.Receiver = Console.println(_),
    18     receiver: Prover.Receiver = Console.println(_),
    19     store: Sessions.Store = Sessions.store()): Isabelle_Process =
    19     store: Sessions.Store = Sessions.store()): Isabelle_Process =
    20   {
    20   {
    21     val channel = System_Channel()
    21     val channel = System_Channel()
    22     val process =
    22     val process =
    23       try {
    23       try {
    24         ML_Process(options, heap = heap, args = args, modes = modes, secure = secure,
    24         ML_Process(options, logic = logic, args = args, modes = modes, secure = secure,
    25           channel = Some(channel), store = store)
    25           channel = Some(channel), store = store)
    26       }
    26       }
    27       catch { case exn @ ERROR(_) => channel.accepted(); throw exn }
    27       catch { case exn @ ERROR(_) => channel.accepted(); throw exn }
    28     process.stdin.close
    28     process.stdin.close
    29 
    29