equal
deleted
inserted
replaced
35 Multithreading.synchronized name lock (fn () => |
35 Multithreading.synchronized name lock (fn () => |
36 let |
36 let |
37 fun wait () = |
37 fun wait () = |
38 (case peek v of |
38 (case peek v of |
39 NONE => |
39 NONE => |
40 (case Multithreading.sync_wait NONE NONE cond lock of |
40 (case Multithreading.sync_wait NONE cond lock of |
41 Exn.Res _ => wait () |
41 Exn.Res _ => wait () |
42 | Exn.Exn exn => Exn.reraise exn) |
42 | Exn.Exn exn => Exn.reraise exn) |
43 | SOME x => x); |
43 | SOME x => x); |
44 in wait () end); |
44 in wait () end); |
45 |
45 |