blob: 8f18cb913ea43bbb23d4d182aa420a791db2cf0f [file] [log] [blame]
Jeff Brown66db6892010-04-22 18:58:52 -07001//
2// Copyright 2010 The Android Open Source Project
3//
4// A simple memory pool.
5//
6#define LOG_TAG "Pool"
7
8//#define LOG_NDEBUG 0
9
10#include <cutils/log.h>
11#include <utils/Pool.h>
12
13#include <stdlib.h>
14
15namespace android {
16
17// TODO Provide a real implementation of a pool. This is just a stub for initial development.
18
19PoolImpl::PoolImpl(size_t objSize) :
20 mObjSize(objSize) {
21}
22
23PoolImpl::~PoolImpl() {
24}
25
26void* PoolImpl::allocImpl() {
27 void* ptr = malloc(mObjSize);
28 LOG_ALWAYS_FATAL_IF(ptr == NULL, "Cannot allocate new pool object.");
29 return ptr;
30}
31
32void PoolImpl::freeImpl(void* obj) {
33 LOG_ALWAYS_FATAL_IF(obj == NULL, "Caller attempted to free NULL pool object.");
34 return free(obj);
35}
36
37} // namespace android