36 lines
771 B
C++
36 lines
771 B
C++
// 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;
|
|
}
|