equal
deleted
inserted
replaced
81 |
81 |
82 class IsabelleProcess(isabelle_system: IsabelleSystem, |
82 class IsabelleProcess(isabelle_system: IsabelleSystem, |
83 results: EventBus[IsabelleProcess.Result], args: String*) |
83 results: EventBus[IsabelleProcess.Result], args: String*) |
84 { |
84 { |
85 import IsabelleProcess._ |
85 import IsabelleProcess._ |
86 |
86 |
87 |
87 |
88 /* demo constructor */ |
88 /* demo constructor */ |
89 |
89 |
90 def this(args: String*) = |
90 def this(args: String*) = |
91 this(new IsabelleSystem, new EventBus[IsabelleProcess.Result] + (Console.println(_)), args: _*) |
91 this(new IsabelleSystem, new EventBus[IsabelleProcess.Result] + (Console.println(_)), args: _*) |
357 if (rc != 0) error("Version check failed -- bad Isabelle installation:\n" + msg) |
357 if (rc != 0) error("Version check failed -- bad Isabelle installation:\n" + msg) |
358 put_result(Kind.SYSTEM, null, msg) |
358 put_result(Kind.SYSTEM, null, msg) |
359 } |
359 } |
360 |
360 |
361 |
361 |
362 /* results */ |
|
363 |
|
364 val result_thread = new ResultThread |
|
365 result_thread.start |
|
366 |
|
367 |
|
368 /* messages */ |
362 /* messages */ |
369 |
363 |
370 val message_fifo = isabelle_system.mk_fifo() |
364 val message_fifo = isabelle_system.mk_fifo() |
371 def rm_fifo() = isabelle_system.rm_fifo(message_fifo) |
365 def rm_fifo() = isabelle_system.rm_fifo(message_fifo) |
372 |
366 |
373 val message_thread = new MessageThread(message_fifo) |
367 val message_thread = new MessageThread(message_fifo) |
374 message_thread.start |
368 message_thread.start |
|
369 |
|
370 new ResultThread().start |
375 |
371 |
376 |
372 |
377 /* exec process */ |
373 /* exec process */ |
378 |
374 |
379 try { |
375 try { |