diff options
| author | Enrico Tassi | 2014-10-08 17:28:18 +0200 |
|---|---|---|
| committer | Enrico Tassi | 2014-10-13 18:13:20 +0200 |
| commit | 7cfcaa57a68ea9abde9e2558ceef86589aa26d6d (patch) | |
| tree | 4a6b0795b7a4408b0651d34146329495b423ff29 /stm/asyncTaskQueue.ml | |
| parent | e3a0a4d58b74d2113485ceabe4235567fda962c8 (diff) | |
STM: primitives to snapshot a .vi while in interactive mode
Diffstat (limited to 'stm/asyncTaskQueue.ml')
| -rw-r--r-- | stm/asyncTaskQueue.ml | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/stm/asyncTaskQueue.ml b/stm/asyncTaskQueue.ml index 74e83a39fd..22e7c02431 100644 --- a/stm/asyncTaskQueue.ml +++ b/stm/asyncTaskQueue.ml @@ -304,13 +304,19 @@ module Make(T : Task) = struct flush_all (); exit 1 done - let dump () = - assert(WorkersPool.is_empty ()); (* ATM, we allow that only if no slaves *) - List.map fst (TQueue.dump queue) + let clear () = + assert(WorkersPool.is_empty ()); (* We allow that only if no slaves *) + TQueue.clear queue + + let snapshot () = + List.map fst + (TQueue.wait_until_n_are_waiting_then_snapshot + (WorkersPool.n_workers ()) queue) let init n = WorkersPool.init n manage_slave (fun n -> Printf.sprintf "%s:%d" T.name n) + let destroy () = WorkersPool.destroy (); TQueue.destroy queue |
