diff options
author | Harald Welte <laforge@gnumonks.org> | 2011-06-27 23:51:02 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2011-06-27 23:51:02 +0200 |
commit | d04d43098dd9017517e149016d3bcbcf4906c50c (patch) | |
tree | 1a0aa9d744d68eb629838c4fb99d08475e9ad4ee /src | |
parent | 656c8236a5ccf3f8dfb77785b9e4a8735404031e (diff) |
paging: add paging_reset() function
Diffstat (limited to 'src')
-rw-r--r-- | src/common/paging.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/common/paging.c b/src/common/paging.c index 0f51d753..6276b1d0 100644 --- a/src/common/paging.c +++ b/src/common/paging.c @@ -438,3 +438,23 @@ struct paging_state *paging_init(void *ctx, unsigned int num_paging_max, } return ps; } + +void paging_reset(struct paging_state *ps) +{ + int i; + + for (i = 0; i < ARRAY_SIZE(ps->paging_queue); i++) { + struct llist_head *queue = &ps->paging_queue[i]; + struct paging_record *pr, *pr2; + llist_for_each_entry_safe(pr, pr2, queue, list) { + llist_del(&pr->list); + talloc_free(pr); + ps->num_paging--; + } + } + + if (ps->num_paging != 0) + LOGP(DPAG, LOGL_NOTICE, "num_paging != 0 after flushing all records?!?\n"); + + ps->num_paging = 0; +} |