From 5f6f3429c8cd755cab36de51aa9df4c11d0e7052 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Wed, 27 Jan 2016 21:29:42 -0500 Subject: [PATCH] Fix the fix for the "out"-related bug from commit de1dc5a. The problem was that sometimes there'd be an assertion that `meta` had asserted that *also* was asserted by some local process. Commit de1dc5a introduced code that would drop the assertion in this case; this commit changes it to only remove assertions from the set when *only* `meta` is asserting them. --- prospect-monolithic/mux.rkt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/prospect-monolithic/mux.rkt b/prospect-monolithic/mux.rkt index b9bacd0..106c2a2 100644 --- a/prospect-monolithic/mux.rkt +++ b/prospect-monolithic/mux.rkt @@ -74,9 +74,9 @@ (values (for/list [(pid (tset->list affected-pids))] (cons pid (scn (biased-intersection new-routing-table (mux-interests-of new-m pid))))) (and (not (meta-label? label)) - (drop-scn (scn (trie-subtract (strip-interests new-routing-table) - (mux-interests-of new-m 'meta) - #:combiner (lambda (a b) #f))))))) + (drop-scn (scn (trie-relabel new-routing-table + (lambda (v) + (empty-tset-guard (tset-remove v 'meta))))))))) (define (compute-affected-pids routing-table cover) (trie-match-trie cover