1 // Test simulates situation when suspended thread could stop process 2 // where thread that is a real reason of stop says process 3 // should not stop in it's action handler. 4 5 #include <chrono> 6 #include <thread> 7 thread1()8void thread1() { 9 // Will be suspended at breakpoint stop 10 // Set first breakpoint here 11 } 12 thread2()13void thread2() { 14 /* 15 Prevent threads from stopping simultaneously 16 */ 17 std::this_thread::sleep_for(std::chrono::seconds(1)); 18 // Set second breakpoint here 19 } 20 main()21int main() { 22 // Create a thread 23 std::thread thread_1(thread1); 24 25 // Create another thread. 26 std::thread thread_2(thread2); 27 28 // Wait for the thread that was not suspeneded 29 thread_2.join(); 30 31 // Wait for thread that was suspended 32 thread_1.join(); // Set third breakpoint here 33 34 return 0; 35 } 36