ucx/mempool.c

changeset 69
fb59270b1de3
parent 57
e18157c52985
child 75
990734f548ef
equal deleted inserted replaced
68:88dbea299440 69:fb59270b1de3
25 25
26 UcxMempool *ucx_mempool_new(size_t n) { 26 UcxMempool *ucx_mempool_new(size_t n) {
27 UcxMempool *pool = (UcxMempool*)malloc(sizeof(UcxMempool)); 27 UcxMempool *pool = (UcxMempool*)malloc(sizeof(UcxMempool));
28 if (pool == NULL) return NULL; 28 if (pool == NULL) return NULL;
29 29
30 pool->data = malloc(n * sizeof(void*)); 30 pool->data = (void**) malloc(n * sizeof(void*));
31 if (pool->data == NULL) { 31 if (pool->data == NULL) {
32 free(pool); 32 free(pool);
33 return NULL; 33 return NULL;
34 } 34 }
35 35
37 pool->size = n; 37 pool->size = n;
38 return pool; 38 return pool;
39 } 39 }
40 40
41 int ucx_mempool_chcap(UcxMempool *pool, size_t newcap) { 41 int ucx_mempool_chcap(UcxMempool *pool, size_t newcap) {
42 void **data = realloc(pool->data, newcap*sizeof(void*)); 42 void **data = (void**) realloc(pool->data, newcap*sizeof(void*));
43 if (data == NULL) { 43 if (data == NULL) {
44 return 1; 44 return 1;
45 } else { 45 } else {
46 pool->data = data; 46 pool->data = data;
47 pool->size = newcap; 47 pool->size = newcap;

mercurial