Skip to content

Commit 05cf669

Browse files
committed
Fix the test of the linear base allocator (test_base_alloc_linear.c)
Signed-off-by: Lukasz Dorau <[email protected]>
1 parent b1068dc commit 05cf669

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

test/test_base_alloc_linear.c

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,18 @@ static void *start_routine(void *arg) {
3131
for (int i = 0; i < ITERATIONS; i++) {
3232
buffer[i].size = (rand() * MAX_ALLOCATION_SIZE) / RAND_MAX;
3333
buffer[i].ptr = umf_ba_linear_alloc(pool, buffer[i].size);
34+
if (buffer[i].ptr == NULL) {
35+
break;
36+
}
37+
3438
memset(buffer[i].ptr, (i + TID) & 0xFF, buffer[i].size);
3539
}
3640

3741
for (int i = 0; i < ITERATIONS; i++) {
42+
if (buffer[i].ptr == NULL) {
43+
break;
44+
}
45+
3846
for (int k = 0; k < buffer[i].size; k++) {
3947
if (*(buffer[i].ptr + k) != ((i + TID) & 0xFF)) {
4048
fprintf(
@@ -52,7 +60,8 @@ static void *start_routine(void *arg) {
5260

5361
int main(void) {
5462
pthread_t thread[NTHREADS];
55-
umf_ba_linear_pool_t *pool = umf_ba_linear_create(MAX_ALLOCATION_SIZE);
63+
umf_ba_linear_pool_t *pool =
64+
umf_ba_linear_create(ITERATIONS * MAX_ALLOCATION_SIZE);
5665

5766
for (int i = 0; i < NTHREADS; i++) {
5867
int ret = pthread_create(&thread[i], NULL, start_routine, pool);

0 commit comments

Comments
 (0)