fix memory accounting for useless channels
Fix accounting for a channel that is without a peer for sending and/or receiving.
This commit is contained in:
parent
b016246096
commit
bfb4d34715
|
@ -441,8 +441,10 @@ int BTC_bi_chan_mark(void *p, struct NewGC *gc)
|
||||||
/* Race conditions here on `mem_size', and likely double counting
|
/* Race conditions here on `mem_size', and likely double counting
|
||||||
when the same async channels are accessible from paired bi
|
when the same async channels are accessible from paired bi
|
||||||
channels --- but those approximations are ok for accounting. */
|
channels --- but those approximations are ok for accounting. */
|
||||||
account_memory(gc, gc->current_mark_owner, gcBYTES_TO_WORDS(bc->link->sendch->mem_size), 0);
|
if (bc->link->sendch)
|
||||||
account_memory(gc, gc->current_mark_owner, gcBYTES_TO_WORDS(bc->link->recvch->mem_size), 0);
|
account_memory(gc, gc->current_mark_owner, gcBYTES_TO_WORDS(bc->link->sendch->mem_size), 0);
|
||||||
|
if (bc->link->recvch)
|
||||||
|
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);
|
return gc->mark_table[btc_redirect_bi_chan](p, gc);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user