--- a/src/Pure/System/session.scala Sat Jul 09 16:53:19 2011 +0200
+++ b/src/Pure/System/session.scala Sat Jul 09 17:14:08 2011 +0200
@@ -303,13 +303,14 @@
global_state.change(_ => Document.State.init) // FIXME event bus!?
phase = Session.Shutdown
prover.get.terminate
+ prover = None
phase = Session.Inactive
}
finished = true
reply(())
- case Interrupt =>
- prover.map(_.interrupt)
+ case Interrupt if prover.isDefined =>
+ prover.get.interrupt
case Edit_Node(name, header, text_edits) if prover.isDefined =>
val node_name = (header.master_dir + Path.basic(name)).implode // FIXME
@@ -331,8 +332,7 @@
case result: Isabelle_Process.Result =>
handle_result(result)
- case bad if prover.isDefined =>
- System.err.println("session_actor: ignoring bad message " + bad)
+ case bad => System.err.println("session_actor: ignoring bad message " + bad)
}
}
//}}}