blob: 8f18cb913ea43bbb23d4d182aa420a791db2cf0f (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 | //
// 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
 |