/* then try perchunk freelist chain */
if (nextFreeChunk == NULL) {
/* no chunk with frees, so create new one */
- saved_calls--; // compensate for the ++ above
+ saved_calls--; // compensate for the ++ above
createChunk();
}
/* now we have some in perchunk freelist chain */
{
void *obj = freelist.pop();
if (obj) {
- memMeterDec(meter.idle);
- saved_calls++;
+ memMeterDec(meter.idle);
+ saved_calls++;
} else {
- obj = xcalloc(1, obj_size);
- memMeterInc(meter.alloc);
+ obj = xcalloc(1, obj_size);
+ memMeterInc(meter.alloc);
}
memMeterInc(meter.inuse);
return obj;
{
memMeterDec(meter.inuse);
if (aggressive) {
- xfree(obj);
- memMeterDec(meter.alloc);
+ xfree(obj);
+ memMeterDec(meter.alloc);
} else {
- if (doZeroOnPush)
- memset(obj, 0, obj_size);
- memMeterInc(meter.idle);
- freelist.push_back(obj);
+ if (doZeroOnPush)
+ memset(obj, 0, obj_size);
+ memMeterInc(meter.idle);
+ freelist.push_back(obj);
}
}
MemPoolMalloc::clean(time_t maxage)
{
while (void *obj = freelist.pop()) {
- memMeterDec(meter.idle);
- memMeterDec(meter.alloc);
- xfree(obj);
+ memMeterDec(meter.idle);
+ memMeterDec(meter.alloc);
+ xfree(obj);
}
}
/* Chunks */
if (mp_st->chunk_capacity) {
- stream << std::setw(4) << toKB(mp_st->obj_size * mp_st->chunk_capacity) << delim;
- stream << std::setw(4) << mp_st->chunk_capacity << delim;
+ stream << std::setw(4) << toKB(mp_st->obj_size * mp_st->chunk_capacity) << delim;
+ stream << std::setw(4) << mp_st->chunk_capacity << delim;
needed = mp_st->items_inuse / mp_st->chunk_capacity;
excess = mp_st->chunks_inuse - needed;
- stream << std::setw(4) << mp_st->chunks_alloc << delim;
- stream << std::setw(4) << mp_st->chunks_inuse << delim;
- stream << std::setw(4) << mp_st->chunks_free << delim;
- stream << std::setw(4) << mp_st->chunks_partial << delim;
- stream << std::setprecision(3) << xpercent(excess, needed) << delim;
+ stream << std::setw(4) << mp_st->chunks_alloc << delim;
+ stream << std::setw(4) << mp_st->chunks_inuse << delim;
+ stream << std::setw(4) << mp_st->chunks_free << delim;
+ stream << std::setw(4) << mp_st->chunks_partial << delim;
+ stream << std::setprecision(3) << xpercent(excess, needed) << delim;
} else {
- stream << delim;
- stream << delim;
- stream << delim;
- stream << delim;
- stream << delim;
- stream << delim;
- stream << delim;
+ stream << delim;
+ stream << delim;
+ stream << delim;
+ stream << delim;
+ stream << delim;
+ stream << delim;
+ stream << delim;
}
/*
* Fragmentation calculation: