version 1.4.2.3, 2012/02/27 23:57:12
|
version 1.4.2.6, 2012/02/28 10:34:43
|
Line 105 typedef struct _tagMPool {
|
Line 105 typedef struct _tagMPool {
|
#define mpool_lock(x) (assert((x)), pthread_mutex_lock(&(x)->pool_mtx)) |
#define mpool_lock(x) (assert((x)), pthread_mutex_lock(&(x)->pool_mtx)) |
#define mpool_unlock(x) (assert((x)), pthread_mutex_unlock(&(x)->pool_mtx)) |
#define mpool_unlock(x) (assert((x)), pthread_mutex_unlock(&(x)->pool_mtx)) |
|
|
|
typedef void (*mpool_stat_cb)(unsigned int, unsigned int, unsigned int); |
|
|
|
|
/* Shared memory session */ |
/* Shared memory session */ |
|
|
typedef struct tagSess { |
typedef struct tagSess { |
Line 151 inline void sess_SetErr(int eno, char *estr, ...);
|
Line 154 inline void sess_SetErr(int eno, char *estr, ...);
|
/* |
/* |
* mpool_init() - Init memory pool |
* mpool_init() - Init memory pool |
* |
* |
|
* @maxmem = If !=0 set maximum memory quota |
* return: =NULL error or !=NULL new allocated pool |
* return: =NULL error or !=NULL new allocated pool |
*/ |
*/ |
mpool_t *mpool_init(void); | mpool_t *mpool_init(unsigned long maxmem); |
/* |
/* |
* mpool_destroy() - Destroy memory pool |
* mpool_destroy() - Destroy memory pool |
* |
* |
Line 168 void mpool_destroy(mpool_t ** __restrict mp);
|
Line 172 void mpool_destroy(mpool_t ** __restrict mp);
|
* @atmost = Free at most in buckets |
* @atmost = Free at most in buckets |
* return: -1 error or 0 ok |
* return: -1 error or 0 ok |
*/ |
*/ |
int mpool_purge(mpool_t * __restrict mp, int atmost); | int mpool_purge(mpool_t * __restrict mp, unsigned int atmost); |
/* |
/* |
* mpool_malloc() - Memory allocation |
* mpool_malloc() - Memory allocation |
* |
* |
Line 198 int mpool_free(mpool_t * __restrict mp, void * __restr
|
Line 202 int mpool_free(mpool_t * __restrict mp, void * __restr
|
*/ |
*/ |
int mpool_free2(mpool_t * __restrict mp, unsigned int size, const char *memname, int purge); |
int mpool_free2(mpool_t * __restrict mp, unsigned int size, const char *memname, int purge); |
/* |
/* |
|
* mpool_realloc() Reallocate memory block with new size |
|
* |
|
* @mp = Memory pool |
|
* @data = Allocated memory data |
|
* @newsize = New size of memory block |
|
* @memname = Optional new memory block name |
|
* return: NULL error or !=NULL new reallocated memory block |
|
*/ |
|
void *mpool_realloc(mpool_t * __restrict mp, void * __restrict data, |
|
unsigned int newsize, const char *memname); |
|
/* |
* mpool_getmembynam() Find allocated memory block by size and memory name |
* mpool_getmembynam() Find allocated memory block by size and memory name |
* |
* |
* @mp = Memory pool |
* @mp = Memory pool |
Line 220 inline unsigned int mpool_getsizebyaddr(void * __restr
|
Line 235 inline unsigned int mpool_getsizebyaddr(void * __restr
|
* return: -1 bad address, 1 corrupted address or 0 ok |
* return: -1 bad address, 1 corrupted address or 0 ok |
*/ |
*/ |
inline int mpool_chkaddr(void * __restrict data); |
inline int mpool_chkaddr(void * __restrict data); |
|
/* |
|
* mpool_setquota() - Change maximum memory quota |
|
* |
|
* @mp = Memory pool |
|
* @maxmem = New max quota size |
|
* return: old maximum memory quota size |
|
*/ |
|
inline unsigned long mpool_setquota(mpool_t * __restrict mp, unsigned long maxmem); |
|
/* |
|
* mpool_getquota() - Get memory quota |
|
* |
|
* @mp = Memory pool |
|
* @currmem = Return current memory |
|
* @maxmem = Return max quota size |
|
* return: none |
|
*/ |
|
inline void mpool_getquota(mpool_t * __restrict mp, unsigned long *currmem, |
|
unsigned long *maxmem); |
|
/* |
|
* mpool_statistics() - Dump statistics from memory pool buckets |
|
* |
|
* @mp = Memory pool |
|
* @cb = Export statistics to callback |
|
* return: none |
|
*/ |
|
void mpool_statistics(mpool_t * __restrict mp, mpool_stat_cb cb); |
|
|
|
|
/* |
/* |