//
// Copyright 2010 The Android Open Source Project
//
// A simple memory pool.
//
#define LOG_TAG "Pool"
//#define LOG_NDEBUG 0
#include <cutils/log.h>
#include <utils/Pool.h>
#include <stdlib.h>
namespace android {
// TODO Provide a real implementation of a pool. This is just a stub for initial development.
PoolImpl::PoolImpl(size_t objSize) :
mObjSize(objSize) {
}
PoolImpl::~PoolImpl() {
}
void* PoolImpl::allocImpl() {
void* ptr = malloc(mObjSize);
LOG_ALWAYS_FATAL_IF(ptr == NULL, "Cannot allocate new pool object.");
return ptr;
}
void PoolImpl::freeImpl(void* obj) {
LOG_ALWAYS_FATAL_IF(obj == NULL, "Caller attempted to free NULL pool object.");
return free(obj);
}
} // namespace android