Boost logo

Boost :

From: Wei FENG (fw37fw37_at_[hidden])
Date: 2007-07-08 23:34:03

When using the "singleton_pool" to allocate the new space, I found there is
a limitation in this pool. If I want to allocate 16KB memory space,I can do
it by call 65503 times( about 1GB space has been used ). Then, I established
another singleton_pool object to allocate 1KB space ,this time I succeed
524255 times( about 500MB memory space). I want to know whether there is a
limitation in that?

ps : the sample codes:
typedef boost::singleton_pool<PieceMemoryPoolTag, UDP_BIG_BUFFER_SIZE+1>

void* BigMemPool::malloc(void)
    void *pbuf = BigPool::malloc();
    if (pbuf != NULL)
        memset(pbuf, 0, UDP_BIG_BUFFER_SIZE+1);
        char str[128];
        sprintf_s(str, "BigMemPool::malloc %lu", bigmalloctimes);
    return pbuf;

Boost list run by bdawes at, gregod at, cpdaniel at, john at