Implement pre functions.
[whenjobs.git] / lib / whenexpr.ml
index 2cb6863..c2ffa33 100644 (file)
@@ -83,23 +83,6 @@ type shell_script = {
   sh_script : string;
 }
 
-type preinfo = {
-  pi_job_name : string;
-  pi_serial : Big_int.big_int;
-}
-
-type result = {
-  res_job_name : string;
-  res_serial : Big_int.big_int;
-  res_code : int;
-  res_tmpdir : string;
-  res_output : string;
-  res_start_time : float;
-}
-
-type pre = preinfo -> bool
-type post = result -> unit
-
 type variable =
   | T_unit
   | T_bool of bool
@@ -123,6 +106,31 @@ let rpc_of_variable = function
 
 type variables = variable StringMap.t
 
+type preinfo = {
+  pi_job_name : string;
+  pi_serial : Big_int.big_int;
+  pi_variables : (string * variable) list;
+  pi_running : preinfo_running_job list;
+}
+and preinfo_running_job = {
+  pirun_job_name : string;
+  pirun_serial : Big_int.big_int;
+  pirun_start_time : float;
+  pirun_pid : int;
+}
+
+type result = {
+  res_job_name : string;
+  res_serial : Big_int.big_int;
+  res_code : int;
+  res_tmpdir : string;
+  res_output : string;
+  res_start_time : float;
+}
+
+type pre = preinfo -> bool
+type post = result -> unit
+
 type job_cond =
   | When_job of whenexpr
   | Every_job of periodexpr