0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * Copyright (C) 2013, 2015, 2016 Internet Systems Consortium, Inc. ("ISC")
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * This Source Code Form is subject to the terms of the Mozilla Public
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * License, v. 2.0. If a copy of the MPL was not distributed with this
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * file, You can obtain one at http://mozilla.org/MPL/2.0/.
df925e6c66d45d960fbac0383169763967d2111cEvan Hunt *** Functions.
df925e6c66d45d960fbac0383169763967d2111cEvan Huntalloc_pool(isc_mem_t *mctx, unsigned int count, isc_pool_t **poolp) {
df925e6c66d45d960fbac0383169763967d2111cEvan Hunt pool->pool = isc_mem_get(mctx, count * sizeof(void *));
573d78f3d53859bc01ce5d5cebbaac9b8b90bfbaTinderbox Userisc_pool_create(isc_mem_t *mctx, unsigned int count,
df925e6c66d45d960fbac0383169763967d2111cEvan Hunt unsigned int i;
df925e6c66d45d960fbac0383169763967d2111cEvan Hunt /* Allocate the pool structure */
df925e6c66d45d960fbac0383169763967d2111cEvan Hunt /* Populate the pool */
df925e6c66d45d960fbac0383169763967d2111cEvan Hunt for (i = 0; i < count; i++) {
df925e6c66d45d960fbac0383169763967d2111cEvan Huntisc_pool_expand(isc_pool_t **sourcep, unsigned int count,
df925e6c66d45d960fbac0383169763967d2111cEvan Hunt unsigned int i;
df925e6c66d45d960fbac0383169763967d2111cEvan Hunt /* Allocate a new pool structure */
df925e6c66d45d960fbac0383169763967d2111cEvan Hunt /* Copy over the objects from the old pool */
df925e6c66d45d960fbac0383169763967d2111cEvan Hunt /* Populate the new entries */
df925e6c66d45d960fbac0383169763967d2111cEvan Hunt result = pool->init(&newpool->pool[i], pool->initarg);
df925e6c66d45d960fbac0383169763967d2111cEvan Hunt unsigned int i;
df925e6c66d45d960fbac0383169763967d2111cEvan Hunt isc_mem_put(pool->mctx, pool->pool, pool->count * sizeof(void *));