Fix bug
This commit is contained in:
1 parent
e8abd99902
commit
9bbef32913
2 files changed
+10
-8
No files matched your search
@@ -110,10 +110,12 @@
|
|||||||
M_C3(mempool_,name,_segment_t) *new_segment = malloc (s); \
|
M_C3(mempool_,name,_segment_t) *new_segment = malloc (s); \
|
||||||
if (new_segment == NULL) { \
|
if (new_segment == NULL) { \
|
||||||
M_MEMORY_FULL(s); \
|
M_MEMORY_FULL(s); \
|
||||||
|
abort(); \
|
||||||
return NULL; \
|
return NULL; \
|
||||||
} \
|
} \
|
||||||
new_segment->next = segment; \
|
new_segment->next = segment; \
|
||||||
new_segment->count = 0; \
|
new_segment->count = 0; \
|
||||||
|
mem->current_segment = new_segment; \
|
||||||
segment = new_segment; \
|
segment = new_segment; \
|
||||||
count = 0; \
|
count = 0; \
|
||||||
} \
|
} \
|
||||||
|
|||||||
@@ -33,29 +33,29 @@ static void test(void)
|
|||||||
mempool_uint_t m;
|
mempool_uint_t m;
|
||||||
mempool_uint_init(m);
|
mempool_uint_init(m);
|
||||||
|
|
||||||
unsigned int *tab[10000];
|
unsigned int *tab[100000];
|
||||||
for(unsigned int i = 0; i < 10000; i++) {
|
for(unsigned int i = 0; i < 100000; i++) {
|
||||||
tab[i] = mempool_uint_alloc(m);
|
tab[i] = mempool_uint_alloc(m);
|
||||||
*tab[i] = i;
|
*tab[i] = i;
|
||||||
}
|
}
|
||||||
for(unsigned int i = 0; i < 10000; i++) {
|
for(unsigned int i = 0; i < 100000; i++) {
|
||||||
assert (*tab[i] == i);
|
assert (*tab[i] == i);
|
||||||
}
|
}
|
||||||
for(unsigned int i = 0; i < 10000; i+=2) {
|
for(unsigned int i = 0; i < 100000; i+=2) {
|
||||||
mempool_uint_free(m, tab[i]);
|
mempool_uint_free(m, tab[i]);
|
||||||
tab[i] = NULL;
|
tab[i] = NULL;
|
||||||
}
|
}
|
||||||
for(unsigned int i = 1; i < 10000; i+=2) {
|
for(unsigned int i = 1; i < 100000; i+=2) {
|
||||||
assert (*tab[i] == i);
|
assert (*tab[i] == i);
|
||||||
}
|
}
|
||||||
for(unsigned int i = 0; i < 10000; i+=2) {
|
for(unsigned int i = 0; i < 100000; i+=2) {
|
||||||
tab[i] = mempool_uint_alloc(m);
|
tab[i] = mempool_uint_alloc(m);
|
||||||
*tab[i] = i;
|
*tab[i] = i;
|
||||||
}
|
}
|
||||||
for(unsigned int i = 0; i < 10000; i++) {
|
for(unsigned int i = 0; i < 100000; i++) {
|
||||||
assert (*tab[i] == i);
|
assert (*tab[i] == i);
|
||||||
}
|
}
|
||||||
for(unsigned int i = 0; i < 10000; i++) {
|
for(unsigned int i = 0; i < 100000; i++) {
|
||||||
mempool_uint_free(m, tab[i]);
|
mempool_uint_free(m, tab[i]);
|
||||||
tab[i] = NULL;
|
tab[i] = NULL;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user