diff -r ed4b47b8c7dc -r 420f55912b3e src/Pure/System/invoke_scala.scala --- a/src/Pure/System/invoke_scala.scala Tue Mar 14 00:09:15 2017 +0100 +++ b/src/Pure/System/invoke_scala.scala Tue Mar 14 00:13:38 2017 +0100 @@ -77,6 +77,12 @@ override def init(init_session: Session): Unit = synchronized { session = init_session } + override def exit(): Unit = synchronized + { + for ((id, future) <- futures) cancel(id, future) + futures = Map.empty + } + private def fulfill(id: String, tag: Invoke_Scala.Tag.Value, res: String): Unit = synchronized { @@ -119,12 +125,6 @@ } } - override def exit(): Unit = synchronized - { - for ((id, future) <- futures) cancel(id, future) - futures = Map.empty - } - val functions = List( Markup.INVOKE_SCALA -> invoke_scala _,