diff options
author | svn2git <svn2git@FreeBSD.org> | 1994-07-01 08:00:00 +0000 |
---|---|---|
committer | svn2git <svn2git@FreeBSD.org> | 1994-07-01 08:00:00 +0000 |
commit | 5e0e9b99dc3fc0ecd49d929db0d57c784b66f481 (patch) | |
tree | e779b5a6edddbb949b7990751b12d6f25304ba86 /lib/libmalloc/tests/t1.c | |
parent | a16f65c7d117419bd266c28a1901ef129a337569 (diff) |
Diffstat (limited to 'lib/libmalloc/tests/t1.c')
-rw-r--r-- | lib/libmalloc/tests/t1.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/libmalloc/tests/t1.c b/lib/libmalloc/tests/t1.c new file mode 100644 index 000000000000..7cdde93e4946 --- /dev/null +++ b/lib/libmalloc/tests/t1.c @@ -0,0 +1,40 @@ +#include <stdio.h> + +#define MAXALLOCS 1000 +#define SIZE 50 + +extern char *sbrk(); +extern char *malloc(); + +main() +{ + char *ptr[MAXALLOCS]; + char *obrk, *nbrk; + int i; + + obrk = sbrk(0); + printf("break is initially 0x%x\n", obrk); + + for(i = 0; i < MAXALLOCS; i++) { + ptr[i] = malloc(SIZE); + } + nbrk = sbrk(0); + printf("break is 0x%x (%d bytes sbrked) after %d allocations of %d\n", + nbrk, nbrk - obrk, MAXALLOCS, SIZE); + for(i = 0; i < MAXALLOCS; i++) { + free(ptr[i]); + } + nbrk = sbrk(0); + printf("break is 0x%x (%d bytes sbrked) after freeing all allocations\n", + nbrk, nbrk - obrk); + fflush(stdout); + + /* Should be enough memory for this without needing to sbrk */ + (void) malloc(SIZE * (MAXALLOCS / 2)); + nbrk = sbrk(0); + + printf("break is 0x%x (%d bytes sbrked) after allocating %d\n", + nbrk, nbrk - obrk, SIZE * (MAXALLOCS/2)); + + exit(0); +} |