equal
deleted
inserted
replaced
186 (case read_command channel of |
186 (case read_command channel of |
187 [] => (Output.error_msg "Isabelle process: no input"; true) |
187 [] => (Output.error_msg "Isabelle process: no input"; true) |
188 | name :: args => (worker_guest (fn () => run_command name args); true)) |
188 | name :: args => (worker_guest (fn () => run_command name args); true)) |
189 handle Runtime.TERMINATE => false |
189 handle Runtime.TERMINATE => false |
190 | exn => (Output.error_msg (ML_Compiler.exn_message exn) handle crash => recover crash; true); |
190 | exn => (Output.error_msg (ML_Compiler.exn_message exn) handle crash => recover crash; true); |
191 in if continue then loop channel else () end; |
191 in if continue then loop channel else Future.shutdown () end; |
192 |
192 |
193 end; |
193 end; |
194 |
194 |
195 |
195 |
196 (* init *) |
196 (* init *) |