equal
deleted
inserted
replaced
75 } |
75 } |
76 |
76 |
77 |
77 |
78 class Isabelle_Process( |
78 class Isabelle_Process( |
79 timeout: Time = Time.seconds(25), |
79 timeout: Time = Time.seconds(25), |
80 use_socket: Boolean = false, |
|
81 receiver: Isabelle_Process.Message => Unit = Console.println(_), |
80 receiver: Isabelle_Process.Message => Unit = Console.println(_), |
82 args: List[String] = Nil) |
81 args: List[String] = Nil) |
83 { |
82 { |
84 import Isabelle_Process._ |
83 import Isabelle_Process._ |
85 |
84 |
128 @volatile private var command_input: (Thread, Actor) = null |
127 @volatile private var command_input: (Thread, Actor) = null |
129 |
128 |
130 |
129 |
131 /** process manager **/ |
130 /** process manager **/ |
132 |
131 |
133 private val system_channel = System_Channel(use_socket) |
132 private val system_channel = System_Channel() |
134 |
133 |
135 private val process = |
134 private val process = |
136 try { |
135 try { |
137 val cmdline = |
136 val cmdline = |
138 Isabelle_System.getenv_strict("ISABELLE_PROCESS") :: |
137 Isabelle_System.getenv_strict("ISABELLE_PROCESS") :: |