Part II (8 points) int counter = 0; void handler(int sig) { counter++; } int main() { int i; signal(SIGCHLD, handler); for (i = 0; i < 5; i ++){ if (fork() == 0){ } } exit(0); /* wait for all children to die */ while (wait(NULL) != -1); printf("counter = %d\n", counter); return 0; } A. Does the program output the same value of counter every time we run it? Yes No B. If the answer to A is Yes, indicate the value of the counter variable. Otherwise, list all possible values of the counter variable. Answer: counter =

icon
Related questions
Question
Part II (8 points)
int counter = 0;
void handler(int sig)
{
counter++;
}
int main()
{
int i;
signal(SIGCHLD, handler);
for (i = 0; i < 5; i ++){
if (fork() == 0){
}
}
exit(0);
/* wait for all children to die */
while (wait(NULL) != -1);
printf("counter = %d\n", counter);
return 0;
}
A. Does the program output the same value of counter every time we run it?
Yes
No
B. If the answer to A is Yes, indicate the value of the counter variable. Otherwise, list all possible values
of the counter variable.
Answer: counter =
Transcribed Image Text:Part II (8 points) int counter = 0; void handler(int sig) { counter++; } int main() { int i; signal(SIGCHLD, handler); for (i = 0; i < 5; i ++){ if (fork() == 0){ } } exit(0); /* wait for all children to die */ while (wait(NULL) != -1); printf("counter = %d\n", counter); return 0; } A. Does the program output the same value of counter every time we run it? Yes No B. If the answer to A is Yes, indicate the value of the counter variable. Otherwise, list all possible values of the counter variable. Answer: counter =
Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer