blob: c36650f5d043704f8db0983c8afc43fe34c4a769 [file] [log] [blame]
#include <stdio.h>
#include <unistd.h>
#define MAX 20000
int main () {
int i;
int inc_dec;
int delta;
intptr_t brk_stat;
// loop to first increase, then decrease
for (inc_dec = 1; inc_dec >= -1; inc_dec-=2) {
// loop to increase(decrease) with small then big delta
for (delta = 1; delta <= 400; delta+=399) {
if (0) printf("initial brk value for inc_dec %d delta %d: %p\n",
inc_dec, delta, sbrk(0));
for (i=0; i<MAX; i++) {
brk_stat = (intptr_t)brk(sbrk(0) + inc_dec * delta);
if (brk_stat == -1) {
printf("brk value at failure: %p\n", sbrk(0));
perror ("brk() failed!\n");
return 0;
}
}
if (0) printf("resulting brk value for inc_dec %d delta %d: %p\n",
inc_dec, delta, sbrk(0));
}
}
return 0;
}