1.1 --- a/src/Pure/System/isabelle_process.ML Wed Jul 10 20:19:51 2013 +0200
1.2 +++ b/src/Pure/System/isabelle_process.ML Wed Jul 10 20:44:39 2013 +0200
1.3 @@ -211,9 +211,8 @@
1.4 [Syntax_Trans.no_bracketsN, Syntax_Trans.no_type_bracketsN, Graph_Display.active_graphN];
1.5 val default_modes2 = [Symbol.xsymbolsN, isabelle_processN, Pretty.symbolicN];
1.6
1.7 -fun init rendezvous = ignore (Simple_Thread.fork false (fn () =>
1.8 +val init = uninterruptible (fn _ => fn rendezvous =>
1.9 let
1.10 - val _ = OS.Process.sleep (seconds 0.5); (*yield to raw ML toplevel*)
1.11 val _ = Output.physical_stderr Symbol.STX;
1.12
1.13 val _ = Printer.show_markup_default := true;
1.14 @@ -225,7 +224,7 @@
1.15 val channel = rendezvous ();
1.16 val _ = init_channels channel;
1.17 val _ = Session.init_protocol_handlers ();
1.18 - in loop channel end));
1.19 + in loop channel end);
1.20
1.21 fun init_fifos fifo1 fifo2 = init (fn () => System_Channel.fifo_rendezvous fifo1 fifo2);
1.22 fun init_socket name = init (fn () => System_Channel.socket_rendezvous name);