--- a/src/Pure/System/session.scala Wed May 22 16:01:08 2013 +0200
+++ b/src/Pure/System/session.scala Wed May 22 16:13:52 2013 +0200
@@ -98,6 +98,12 @@
}
case _ => false
}
+
+ def stop(prover: Prover): Protocol_Handlers =
+ {
+ for ((_, handler) <- handlers) handler.stop(prover)
+ new Protocol_Handlers()
+ }
}
}
@@ -462,6 +468,7 @@
case Stop =>
if (phase == Session.Ready) {
+ protocol_handlers = protocol_handlers.stop(prover.get)
global_state >> (_ => Document.State.init) // FIXME event bus!?
phase = Session.Shutdown
prover.get.terminate