diff options
Diffstat (limited to 'packages/Python/lldbsuite/test/functionalities/thread/thread_specific_break_plus_condition/main.cpp')
-rw-r--r-- | packages/Python/lldbsuite/test/functionalities/thread/thread_specific_break_plus_condition/main.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/packages/Python/lldbsuite/test/functionalities/thread/thread_specific_break_plus_condition/main.cpp b/packages/Python/lldbsuite/test/functionalities/thread/thread_specific_break_plus_condition/main.cpp new file mode 100644 index 000000000000..af8ab84157fd --- /dev/null +++ b/packages/Python/lldbsuite/test/functionalities/thread/thread_specific_break_plus_condition/main.cpp @@ -0,0 +1,39 @@ +#include <chrono> +#include <thread> +#include <vector> + +void * +thread_function (void *thread_marker) +{ + int keep_going = 1; + int my_value = *((int *)thread_marker); + int counter = 0; + + while (counter < 20) + { + counter++; // Break here in thread body. + std::this_thread::sleep_for(std::chrono::microseconds(10)); + } + return NULL; +} + + +int +main () +{ + std::vector<std::thread> threads; + + int thread_value = 0; + int i; + + for (i = 0; i < 10; i++) + { + thread_value += 1; + threads.push_back(std::thread(thread_function, &thread_value)); + } + + for (i = 0; i < 10; i++) + threads[i].join(); + + return 0; +} |