fix over-counting of place-message channel memory

This commit is contained in:
Matthew Flatt 2015-08-28 13:30:43 -06:00
parent a6e42858f4
commit 460743021d

View File

@ -371,8 +371,8 @@ int BTC_bi_chan_mark(void *p, struct NewGC *gc)
/* Race conditions here on `mem_size', and likely double counting
when the same async channels are accessible from paired bi
channels --- but those approximations are ok for accounting. */
account_memory(gc, gc->current_mark_owner, bc->link->sendch->mem_size, 0);
account_memory(gc, gc->current_mark_owner, bc->link->recvch->mem_size, 0);
account_memory(gc, gc->current_mark_owner, gcBYTES_TO_WORDS(bc->link->sendch->mem_size), 0);
account_memory(gc, gc->current_mark_owner, gcBYTES_TO_WORDS(bc->link->recvch->mem_size), 0);
}
return gc->mark_table[btc_redirect_bi_chan](p, gc);
}