diff -r a6bdf4b889ca -r a64f3496d93a src/Pure/System/bash.scala --- a/src/Pure/System/bash.scala Tue Sep 13 23:06:52 2022 +0200 +++ b/src/Pure/System/bash.scala Wed Sep 14 10:46:47 2022 +0200 @@ -146,19 +146,13 @@ } - // JVM shutdown hook - - private val shutdown_hook = Isabelle_Thread.create(() => terminate()) - - try { Runtime.getRuntime.addShutdownHook(shutdown_hook) } - catch { case _: IllegalStateException => } - - // cleanup + private val shutdown_hook = + Isabelle_System.create_shutdown_hook { terminate() } + private def do_cleanup(): Unit = { - try { Runtime.getRuntime.removeShutdownHook(shutdown_hook) } - catch { case _: IllegalStateException => } + Isabelle_System.remove_shutdown_hook(shutdown_hook) script_file.delete() winpid_file.foreach(_.delete())