1*288bf522SAndroid Build Coastguard Worker #include <stdlib.h> 2*288bf522SAndroid Build Coastguard Worker #include <sys/wait.h> 3*288bf522SAndroid Build Coastguard Worker #include <unistd.h> 4*288bf522SAndroid Build Coastguard Worker 5*288bf522SAndroid Build Coastguard Worker constexpr int LOOP_COUNT = 100000000; 6*288bf522SAndroid Build Coastguard Worker 7*288bf522SAndroid Build Coastguard Worker volatile int a[2]; ParentFunction()8*288bf522SAndroid Build Coastguard Workervoid ParentFunction() { 9*288bf522SAndroid Build Coastguard Worker volatile int* p = a + atoi("0"); 10*288bf522SAndroid Build Coastguard Worker for (int i = 0; i < LOOP_COUNT; ++i) { 11*288bf522SAndroid Build Coastguard Worker *p = i; 12*288bf522SAndroid Build Coastguard Worker } 13*288bf522SAndroid Build Coastguard Worker } 14*288bf522SAndroid Build Coastguard Worker ChildFunction()15*288bf522SAndroid Build Coastguard Workervoid ChildFunction() { 16*288bf522SAndroid Build Coastguard Worker volatile int* p = a + atoi("1"); 17*288bf522SAndroid Build Coastguard Worker for (int i = 0; i < LOOP_COUNT; ++i) { 18*288bf522SAndroid Build Coastguard Worker *p = i; 19*288bf522SAndroid Build Coastguard Worker } 20*288bf522SAndroid Build Coastguard Worker } 21*288bf522SAndroid Build Coastguard Worker main()22*288bf522SAndroid Build Coastguard Workerint main() { 23*288bf522SAndroid Build Coastguard Worker while (true) { 24*288bf522SAndroid Build Coastguard Worker pid_t pid = fork(); 25*288bf522SAndroid Build Coastguard Worker if (pid == 0) { 26*288bf522SAndroid Build Coastguard Worker ChildFunction(); 27*288bf522SAndroid Build Coastguard Worker return 0; 28*288bf522SAndroid Build Coastguard Worker } else { 29*288bf522SAndroid Build Coastguard Worker ParentFunction(); 30*288bf522SAndroid Build Coastguard Worker waitpid(pid, nullptr, 0); 31*288bf522SAndroid Build Coastguard Worker } 32*288bf522SAndroid Build Coastguard Worker } 33*288bf522SAndroid Build Coastguard Worker return 0; 34*288bf522SAndroid Build Coastguard Worker } 35