equal
deleted
inserted
replaced
216 let |
216 let |
217 val timer = Timer.startRealTimer (); |
217 val timer = Timer.startRealTimer (); |
218 val _ = tracing 4 (fn () => "CRITICAL" ^ show name ^ show' name' ^ ": waiting"); |
218 val _ = tracing 4 (fn () => "CRITICAL" ^ show name ^ show' name' ^ ": waiting"); |
219 val _ = Mutex.lock critical_lock; |
219 val _ = Mutex.lock critical_lock; |
220 val time = Timer.checkRealTimer timer; |
220 val time = Timer.checkRealTimer timer; |
221 val _ = tracing (if Time.> (time, Time.fromMilliseconds 10) then 3 else 4) (fn () => |
221 val trace_time = |
|
222 if Time.>= (time, Time.fromMilliseconds 1000) then 1 |
|
223 else if Time.>= (time, Time.fromMilliseconds 100) then 2 |
|
224 else if Time.>= (time, Time.fromMilliseconds 10) then 3 else 4; |
|
225 val _ = tracing trace_time (fn () => |
222 "CRITICAL" ^ show name ^ show' name' ^ ": passed after " ^ Time.toString time); |
226 "CRITICAL" ^ show name ^ show' name' ^ ": passed after " ^ Time.toString time); |
223 in () end; |
227 in () end; |
224 val _ = critical_thread := SOME (Thread.self ()); |
228 val _ = critical_thread := SOME (Thread.self ()); |
225 val _ = critical_name := name; |
229 val _ = critical_name := name; |
226 val result = Exn.capture (restore_attributes e) (); |
230 val result = Exn.capture (restore_attributes e) (); |