blob: 2246bb0ae7d256af7011dd31a4ef60c558e26716 [file] [log] [blame]
sewardj3b290482011-05-06 21:02:55 +00001#include <stdlib.h>
2#include <stdio.h>
3#include <errno.h>
bart667c6772011-05-08 09:29:06 +00004#include <unistd.h>
5#include <sys/wait.h>
6
7int main()
sewardj3b290482011-05-06 21:02:55 +00008{
9 int mem = 0;
10 int pid;
11
12 pid = fork();
13 if (pid == -1) {
14 mem = 1;
15 perror("fork");
16 exit(1);
17 }
18
19 if (pid == 0) {
20 if (mem == 0)
21 exit(0);
22 else
23 exit(1);
24 } else {
25 int ret;
26 int status;
27 while((ret = waitpid(pid, &status, 0)) != pid) {
28 if (errno != EINTR) {
29 perror("waitpid");
30 exit(1);
31 }
32 }
33 mem = status;
34 }
35 if (mem == 0)
36 printf("mem is zero\n");
bart667c6772011-05-08 09:29:06 +000037
38 return 0;
sewardj3b290482011-05-06 21:02:55 +000039}