more conventional exception propagation -- taking into account Simple_Thread.fork wrapping;
1.1 --- a/src/Pure/Concurrent/bash.ML Sun Nov 28 15:28:48 2010 +0100
1.2 +++ b/src/Pure/Concurrent/bash.ML Sun Nov 28 15:34:35 2010 +0100
1.3 @@ -36,7 +36,8 @@
1.4 | Posix.Process.W_STOPPED s =>
1.5 Result (512 + LargeWord.toInt (Posix.Signal.toWord s)));
1.6 in Synchronized.change result (K res) end
1.7 - handle _ (*sic*) => Synchronized.change result (fn Wait => Signal | res => res)));
1.8 + handle exn =>
1.9 + (Synchronized.change result (fn Wait => Signal | res => res); reraise exn)));
1.10
1.11 fun terminate () =
1.12 let