| #include <stdio.h> |
| #include <stdint.h> |
| |
| #include <chrono> |
| #include <thread> |
| |
| |
| int |
| wait_a_while (int microseconds) |
| { |
| int num_times = 0; |
| auto end_time = std::chrono::system_clock::now() + std::chrono::microseconds(microseconds); |
| |
| while (1) |
| { |
| num_times++; |
| auto wait_time = end_time - std::chrono::system_clock::now(); |
| |
| std::this_thread::sleep_for(wait_time); |
| if (std::chrono::system_clock::now() > end_time) |
| break; |
| } |
| return num_times; |
| } |
| |
| int |
| main (int argc, char **argv) |
| { |
| printf ("stop here in main.\n"); |
| int num_times = wait_a_while (argc * 1000); |
| printf ("Done, took %d times.\n", num_times); |
| |
| return 0; |
| |
| } |