From b253e31a22024a5bb73b6fa707e6582b4034621b Mon Sep 17 00:00:00 2001 From: Enrico Tassi Date: Mon, 5 Sep 2016 16:24:37 +0200 Subject: feedback: support multiple feedback listeners So that a module can add his own and look at the traffic --- stm/asyncTaskQueue.ml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'stm/asyncTaskQueue.ml') 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 -- cgit v1.2.3