equal
deleted
inserted
replaced
102 |
102 |
103 type timing = Time.time * Time.time * string list; (*run, wait, wait dependencies*) |
103 type timing = Time.time * Time.time * string list; (*run, wait, wait dependencies*) |
104 |
104 |
105 val timing_start = (Time.zeroTime, Time.zeroTime, []): timing; |
105 val timing_start = (Time.zeroTime, Time.zeroTime, []): timing; |
106 |
106 |
107 fun new_timing () = Synchronized.var "timing" timing_start; |
107 fun new_timing () = |
|
108 if ! Multithreading.trace < 2 then NONE |
|
109 else SOME (Synchronized.var "timing" timing_start); |
108 |
110 |
109 abstype task = Task of |
111 abstype task = Task of |
110 {group: group, |
112 {group: group, |
111 name: string, |
113 name: string, |
112 id: int, |
114 id: int, |
116 |
118 |
117 val dummy_task = |
119 val dummy_task = |
118 Task {group = new_group NONE, name = "", id = 0, pri = NONE, timing = NONE}; |
120 Task {group = new_group NONE, name = "", id = 0, pri = NONE, timing = NONE}; |
119 |
121 |
120 fun new_task group name pri = |
122 fun new_task group name pri = |
121 Task {group = group, name = name, id = new_id (), pri = pri, timing = SOME (new_timing ())}; |
123 Task {group = group, name = name, id = new_id (), pri = pri, timing = new_timing ()}; |
122 |
124 |
123 fun group_of_task (Task {group, ...}) = group; |
125 fun group_of_task (Task {group, ...}) = group; |
124 fun name_of_task (Task {name, ...}) = name; |
126 fun name_of_task (Task {name, ...}) = name; |
125 fun pri_of_task (Task {pri, ...}) = the_default 0 pri; |
127 fun pri_of_task (Task {pri, ...}) = the_default 0 pri; |
126 |
128 |