--- a/src/server/util/pool.c Sun Dec 30 15:49:44 2012 +0100 +++ b/src/server/util/pool.c Mon Dec 31 00:07:52 2012 +0100 @@ -80,9 +80,9 @@ static int pool_internal_init() { - if (pool_global_stats.lock == NULL) { - pool_global_stats.lock = PR_NewLock(); - } + //if (pool_global_stats.lock == NULL) { + // pool_global_stats.lock = PR_NewLock(); // TODO: remove + //} if (pool_config.block_size == 0) { //ereport(LOG_INFORM, XP_GetAdminStr(DBT_poolInitInternalAllocatorDisabled_)); @@ -234,9 +234,9 @@ /* Have to initialize now, as pools get created sometimes * before pool_init can be called... */ - if (pool_global_stats.lock == NULL) { - pool_internal_init(); - } + //if (pool_global_stats.lock == NULL) { // TODO: remove + // pool_internal_init(); + //} newpool->used_blocks = NULL; newpool->free_blocks = NULL; @@ -262,14 +262,18 @@ } /* Add to known pools list */ - PR_Lock(pool_global_stats.lock); - newpool->next = pool_global_stats.poolList; - pool_global_stats.poolList = newpool; - ++pool_global_stats.createCnt; + + // NOTICE: + // known pools list removed + + //PR_Lock(pool_global_stats.lock); + //newpool->next = pool_global_stats.poolList; + //pool_global_stats.poolList = newpool; + //++pool_global_stats.createCnt; #ifdef PER_POOL_STATISTICS newpool->stats.poolId = pool_global_stats.createCnt; #endif /* PER_POOL_STATISTICS */ - PR_Unlock(pool_global_stats.lock); + //PR_Unlock(pool_global_stats.lock); } else { @@ -300,7 +304,7 @@ { pool_t *pool = (pool_t *)pool_handle; - PR_ASSERT(pool != NULL); + //PR_ASSERT(pool != NULL); if (pool == NULL) return NULL; @@ -337,14 +341,14 @@ block_t *tmp_blk; unsigned long blen; - PR_ASSERT(pool != NULL); + //PR_ASSERT(pool != NULL); if (pool == NULL) return; /* Fix up curr_block. There should always be a curr_block. */ tmp_blk = pool->curr_block; - PR_ASSERT(tmp_blk != NULL); + //PR_ASSERT(tmp_blk != NULL); /* Start with curr_block, then scan blocks on used_blocks list */ for (;;) { @@ -365,7 +369,7 @@ blen = tmp_blk->end - (char *)mark; } pool->size -= blen; - PR_ASSERT(pool->size >= 0); + //PR_ASSERT(pool->size >= 0); tmp_blk->start = (char *)mark; pool->curr_block = tmp_blk; break; @@ -382,14 +386,14 @@ } tmp_blk->start = tmp_blk->data; pool->size -= blen; - PR_ASSERT(pool->size >= 0); + //PR_ASSERT(pool->size >= 0); /* * If there are no more used blocks after this one, then set * this block up as the current block and return. */ if (pool->used_blocks == NULL) { - PR_ASSERT(mark == NULL); + //PR_ASSERT(mark == NULL); pool->curr_block = tmp_blk; break; } @@ -418,7 +422,7 @@ } #ifdef PER_POOL_STATISTICS - ++pool->stats.blkFree; + //++pool->stats.blkFree; #endif /* PER_POOL_STATISTICS */ /* Remove next block from used blocks list */ @@ -433,7 +437,7 @@ pool_t *pool = (pool_t *)pool_handle; block_t *tmp_blk; - PR_ASSERT(pool != NULL); + //PR_ASSERT(pool != NULL); if (pool == NULL) return; @@ -457,6 +461,8 @@ pool_t **ppool; /* Remove from the known pools list */ + // NOTICE: known pools list removed + /* PR_Lock(pool_global_stats.lock); for (ppool = &pool_global_stats.poolList; *ppool; ppool = &(*ppool)->next) { @@ -467,6 +473,7 @@ } } PR_Unlock(pool_global_stats.lock); + */ } #ifdef POOL_ZERO_DEBUG @@ -509,7 +516,7 @@ /* Count unallocated bytes in current block in pool size */ pool->size += curr_block->end - curr_block->start; - PR_ASSERT(pool->size >= 0); + //PR_ASSERT(pool->size >= 0); #ifdef PER_POOL_STATISTICS if (pool->size > pool->stats.maxAlloc) { pool->stats.maxAlloc = pool->size; @@ -540,7 +547,7 @@ } pool->size += reqsize; - PR_ASSERT(pool->size >= 0); + //PR_ASSERT(pool->size >= 0); #ifdef PER_POOL_STATISTICS if (pool->size > pool->stats.maxAlloc) { @@ -566,7 +573,7 @@ return; } - PR_ASSERT(_ptr_in_pool(pool, ptr)); + //PR_ASSERT(_ptr_in_pool(pool, ptr)); #ifdef PER_POOL_STATISTICS @@ -669,7 +676,7 @@ if (pool == NULL) return; - PR_ASSERT(_ptr_in_pool(pool, ptr)); + //PR_ASSERT(_ptr_in_pool(pool, ptr)); } #endif