equal
deleted
inserted
replaced
34 load "OS"; |
34 load "OS"; |
35 load "Process"; |
35 load "Process"; |
36 load "FileSys"; |
36 load "FileSys"; |
37 load "IO"; |
37 load "IO"; |
38 |
38 |
|
39 exception Interrupt; |
|
40 |
39 use "ML-Systems/exn.ML"; |
41 use "ML-Systems/exn.ML"; |
40 use "ML-Systems/universal.ML"; |
42 use "ML-Systems/universal.ML"; |
41 use "ML-Systems/multithreading.ML"; |
43 use "ML-Systems/multithreading.ML"; |
42 use "ML-Systems/time_limit.ML"; |
44 use "ML-Systems/time_limit.ML"; |
43 use "ML-Systems/ml_name_space.ML"; |
45 use "ML-Systems/ml_name_space.ML"; |
176 |
178 |
177 (** interrupts **) (*Note: may get into race conditions*) |
179 (** interrupts **) (*Note: may get into race conditions*) |
178 |
180 |
179 (* FIXME proper implementation available? *) |
181 (* FIXME proper implementation available? *) |
180 |
182 |
181 exception Interrupt; |
|
182 |
|
183 fun interruptible f x = f x; |
183 fun interruptible f x = f x; |
184 fun uninterruptible f x = f (fn (g: 'c -> 'd) => g) x; |
184 fun uninterruptible f x = f (fn (g: 'c -> 'd) => g) x; |
185 |
185 |
186 |
186 |
187 |
187 |