Files
codezero/conts/posix/test0/src/forktest.c
Bahadir Balban 3a3204986e read_cache_pages() also working copied from write_cache_pages()
- Need to remove old versions
- Need to merge the two.
- Need to investigate occasional page fault on NMOP sequence. (resembles an error ipc_extended test)
  Could be related to new page cache read/write routines.
2009-10-14 01:48:05 +03:00

56 lines
817 B
C

/*
* Fork test.
*/
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <tests.h>
#include <l4/macros.h>
int global = 0;
int forktest(void)
{
pid_t myid;
/* 16 forks */
for (int i = 0; i < 3; i++) {
test_printf("%d: Forking...\n", getpid());
if (fork() < 0)
goto out_err;
}
myid = getpid();
if (global != 0) {
test_printf("Global not zero.\n");
test_printf("-- FAILED --\n");
goto out_err;
}
global += myid;
if (global != myid)
goto out_err;
if (getpid() != parent_of_all) {
/* Exit here to exit successful children */
//_exit(0);
//BUG();
}
if (getpid() == parent_of_all)
printf("FORK TEST -- PASSED --\n");
return 0;
/* Any erroneous child or parent comes here */
out_err:
printf("FORK TEST -- FAILED --\n");
return 0;
}