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.
This commit is contained in:
Tony Garnock-Jones 2016-01-27 21:29:42 -05:00
parent 6b31b33230
commit 5f6f3429c8
1 changed files with 3 additions and 3 deletions

View File

@ -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