src/server/ucx/allocator.h

Sun, 26 May 2013 22:05:41 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Sun, 26 May 2013 22:05:41 +0200
changeset 67
50505dc3f8a6
parent 36
450d2d5f4735
child 71
069c152f6272
permissions
-rw-r--r--

dynamic thread pool

#ifndef ALLOCATOR_H
#define	ALLOCATOR_H

#ifdef	__cplusplus
extern "C" {
#endif

typedef void*(*ucx_allocator_malloc)(void *pool, size_t n);
typedef void*(*ucx_allocator_calloc)(void *pool, size_t n, size_t size);
typedef void*(*ucx_allocator_realloc)(void *pool, void *data, size_t n);

typedef struct {
    void *pool;
    ucx_allocator_malloc malloc;
    ucx_allocator_calloc calloc;
    ucx_allocator_realloc realloc;
} UcxAllocator;

void *ucx_default_malloc(void *ignore, size_t n);
void *ucx_default_calloc(void *ignore, size_t n, size_t size);
void *ucx_default_realloc(void *ignore, void *data, size_t n);

#define UCX_ALLOCATOR_DEFAULT {NULL, \
        ucx_default_malloc, ucx_default_calloc, ucx_default_realloc}

#ifdef	__cplusplus
}
#endif

#endif	/* ALLOCATOR_H */

mercurial