From d13bfe0bee0d7f9c32c6f9af926ad5d829e6362d Mon Sep 17 00:00:00 2001 From: ivmai Date: Fri, 3 Jun 2011 13:25:31 +0000 Subject: [PATCH] 2011-06-03 Ivan Maidanski * tests/test_malloc.c (run_one_test): Test AO_malloc() result (if out of memory then print the message and abort). * tests/test_stack.c (add_elements): Ditto. --- ChangeLog | 6 ++++++ tests/test_malloc.c | 6 ++++++ tests/test_stack.c | 5 +++++ 3 files changed, 17 insertions(+) diff --git a/ChangeLog b/ChangeLog index c4b963d..42883eb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2011-06-03 Ivan Maidanski + * tests/test_malloc.c (run_one_test): Test AO_malloc() result + (if out of memory then print the message and abort). + * tests/test_stack.c (add_elements): Ditto. + +2011-06-03 Ivan Maidanski + * src/atomic_ops/generalize.h (AO_HAVE_or_full): Add missing definition. * src/atomic_ops/sysdeps/ordered_except_wr.h (AO_HAVE_nop_write): diff --git a/tests/test_malloc.c b/tests/test_malloc.c index f7df342..4bf6e6c 100644 --- a/tests/test_malloc.c +++ b/tests/test_malloc.c @@ -150,6 +150,12 @@ void * run_one_test(void * arg) { } else { p[0] = p[LARGE_OBJ_SIZE/2] = p[LARGE_OBJ_SIZE-1] = 'a'; q = AO_malloc(LARGE_OBJ_SIZE); + if (q == 0) + { + fprintf(stderr, "Out of memory\n"); + /* Normal for more than about 10 threads without mmap? */ + abort(); + } q[0] = q[LARGE_OBJ_SIZE/2] = q[LARGE_OBJ_SIZE-1] = 'b'; if (p[0] != 'a' || p[LARGE_OBJ_SIZE/2] != 'a' || p[LARGE_OBJ_SIZE-1] != 'a') { diff --git a/tests/test_stack.c b/tests/test_stack.c index a190a78..a51d244 100644 --- a/tests/test_stack.c +++ b/tests/test_stack.c @@ -54,6 +54,11 @@ void add_elements(int n) if (n == 0) return; add_elements(n-1); le = malloc(sizeof(list_element)); + if (le == 0) + { + fprintf(stderr, "Out of memory\n"); + abort(); + } le -> data = n; AO_stack_push(&the_list, (AO_t *)le); } -- 2.7.4