Question: Consider the following program int arr[100] = [ e ]; int idx = 0; int val = 10; void sighandler(int sig) [ arr[idx] = val;
![Consider the following program int arr[100] = [ e ]; int](https://dsd5zvtm8ll6.cloudfront.net/si.experts.images/questions/2024/10/670fc7726178b_346670fc7724a235.jpg)
Consider the following program int arr[100] = [ e ]; int idx = 0; int val = 10; void sighandler(int sig) [ arr[idx] = val; idx+ +: val--; main() ( signal(SIGUSR1, sighandler); signal (SIGUSR2, sighandler); if (fork() == 0) { for (int 1=0; 1(10; 1+ +) [ kill (getppid(), SIGUSRZ); kill(getppid(), SIGUSR1); exit (0); J else [ wait (NULL) ; for (int 1=0; 1cle; 1+.) [ printf("xd ", arr[i]); Occasionaly. the program behaves even more oddly. and produces output like this 10 10906 61 321 Explain how this output might be produced Be specific
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
