Question: Modify your solution to Problem 8.24 so that one (and only one) child installs a Segmentation-fault handler which prints an error message and exits. What
Modify your solution to Problem 8.24 so that one (and only one) child installs a Segmentation-fault handler which prints an error message and exits. What is the output of the program after this change?
/* Figure 8.18 */ #include "csapp.h" #define N 2 int main() int status, i; pid_t pid; /* Parent creates N children */ for (i = 0; i 0) if (WIFEXITED (status) ) printf("child %d terminated normally with exit status=%d ", pid, WEXITSTATUS (status)); else printf("child %d terminated abnormally ", pid) ; /* The normal termination is if there are no more children */ if (errno != ECHILD) unix_error("waitpid error"); exit(0); /* Figure 8.18 */ #include "csapp.h" #define N 2 int main() int status, i; pid_t pid; /* Parent creates N children */ for (i = 0; i 0) if (WIFEXITED (status) ) printf("child %d terminated normally with exit status=%d ", pid, WEXITSTATUS (status)); else printf("child %d terminated abnormally ", pid) ; /* The normal termination is if there are no more children */ if (errno != ECHILD) unix_error("waitpid error"); exit(0)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
