src/Pure/ML-Systems/mosml.ML
changeset 28443 de653f1ad78b
parent 28268 ac8431ecd57e
child 28489 404649964f09
equal deleted inserted replaced
28442:bd9573735bdd 28443:de653f1ad78b
    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