aboutsummaryrefslogtreecommitdiffhomepage
path: root/stm/asyncTaskQueue.ml
diff options
context:
space:
mode:
authorGravatar Enrico Tassi <Enrico.Tassi@inria.fr>2016-09-05 16:24:37 +0200
committerGravatar Enrico Tassi <Enrico.Tassi@inria.fr>2016-09-05 16:37:00 +0200
commitb253e31a22024a5bb73b6fa707e6582b4034621b (patch)
tree6064122d2531d77ab981321c69df8ec7cc6db947 /stm/asyncTaskQueue.ml
parent6f393734e54146c4d26325aea006368380d97280 (diff)
feedback: support multiple feedback listeners
So that a module can add his own and look at the traffic
Diffstat (limited to 'stm/asyncTaskQueue.ml')
-rw-r--r--stm/asyncTaskQueue.ml4
1 files changed, 3 insertions, 1 deletions
diff --git a/stm/asyncTaskQueue.ml b/stm/asyncTaskQueue.ml
index 2d1f725ef..49b51b171 100644
--- a/stm/asyncTaskQueue.ml
+++ b/stm/asyncTaskQueue.ml
@@ -299,10 +299,12 @@ module Make(T : Task) = struct
Pool.worker_handshake (Option.get !slave_ic) (Option.get !slave_oc)
let main_loop () =
+ (* We pass feedback to master *)
let slave_feeder oc fb =
Marshal.to_channel oc (RespFeedback fb) []; flush oc in
- Feedback.set_feeder (fun x -> slave_feeder (Option.get !slave_oc) x);
+ Feedback.add_feeder (fun x -> slave_feeder (Option.get !slave_oc) x);
Feedback.set_logger Feedback.feedback_logger;
+ (* We ask master to allocate universe identifiers *)
Universes.set_remote_new_univ_level (bufferize (fun () ->
marshal_response (Option.get !slave_oc) RespGetCounterNewUnivLevel;
match unmarshal_more_data (Option.get !slave_ic) with