minix/test/test64.c
Ben Gras 5977114c42 tests cleanup
. make common.o link with the tests instead of being
	  #included as common.c
	. fix warnings about missing prototypes by declaring functions
	  static
	. reduces some duplicated code

Change-Id: Ic2a765d7f5886add5863190efec3fdd2d2ea2137
2013-04-17 22:00:59 +00:00

49 lines
779 B
C

/* Code to test reasonable response to out-of-memory condition
* of regular processes.
*/
#include <stdlib.h>
#include <stdio.h>
#include <dlfcn.h>
#include <sys/mman.h>
#include <sys/wait.h>
int max_error = 2;
#include "common.h"
#include "magic.h"
int main (int argc, char *argv[])
{
pid_t f;
start(64);
#define NADDRS 500
#define LEN 4096
static void *addrs[NADDRS];
int i = 0;
int st;
if((f=fork()) == -1) {
e(1);
exit(1);
}
if(f == 0) {
/* child: use up as much memory as we can */
while((addrs[i++ % NADDRS] = minix_mmap(0, LEN, PROT_READ|PROT_WRITE,
MAP_PREALLOC|MAP_CONTIG|MAP_ANON, -1, 0)) != MAP_FAILED)
;
exit(0);
}
/* parent: wait for child */
if(waitpid(f, &st, 0) < 0)
perror("waitpid");
quit();
return(0);
}