diff options
Diffstat (limited to 'forktest.c')
-rw-r--r-- | forktest.c | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/forktest.c b/forktest.c deleted file mode 100644 index 8bc984d..0000000 --- a/forktest.c +++ /dev/null @@ -1,56 +0,0 @@ -// Test that fork fails gracefully. -// Tiny executable so that the limit can be filling the proc table. - -#include "types.h" -#include "stat.h" -#include "user.h" - -#define N 1000 - -void -printf(int fd, const char *s, ...) -{ - write(fd, s, strlen(s)); -} - -void -forktest(void) -{ - int n, pid; - - printf(1, "fork test\n"); - - for(n=0; n<N; n++){ - pid = fork(); - if(pid < 0) - break; - if(pid == 0) - exit(); - } - - if(n == N){ - printf(1, "fork claimed to work N times!\n", N); - exit(); - } - - for(; n > 0; n--){ - if(wait() < 0){ - printf(1, "wait stopped early\n"); - exit(); - } - } - - if(wait() != -1){ - printf(1, "wait got too many\n"); - exit(); - } - - printf(1, "fork test OK\n"); -} - -int -main(void) -{ - forktest(); - exit(); -} |