| // Test simulates situation when suspended thread could stop process | |
| // where thread that is a real reason of stop says process | |
| // should not stop in it's action handler. | |
| #include <chrono> | |
| #include <thread> | |
| void thread1() { | |
| // Will be suspended at breakpoint stop | |
| // Set first breakpoint here | |
| } | |
| void thread2() { | |
| /* | |
| Prevent threads from stopping simultaneously | |
| */ | |
| std::this_thread::sleep_for(std::chrono::seconds(1)); | |
| // Set second breakpoint here | |
| } | |
| int main() { | |
| // Create a thread | |
| std::thread thread_1(thread1); | |
| // Create another thread. | |
| std::thread thread_2(thread2); | |
| // Wait for the thread that was not suspeneded | |
| thread_2.join(); | |
| // Wait for thread that was suspended | |
| thread_1.join(); // Set third breakpoint here | |
| return 0; | |
| } |