| 812 | } |
| 813 | |
| 814 | static bool watcher_windows_wait_complete(atomic_bool *completed, uint64_t deadline_ms) { |
| 815 | while (cbm_now_ms() < deadline_ms) { |
| 816 | if (atomic_load_explicit(completed, memory_order_acquire)) { |
| 817 | return true; |
| 818 | } |
| 819 | cbm_usleep(1000); |
| 820 | } |
| 821 | return atomic_load_explicit(completed, memory_order_acquire); |
| 822 | } |
| 823 | |
| 824 | static bool watcher_windows_wait_process_gone(HANDLE process, uint64_t deadline_ms) { |
| 825 | while (cbm_now_ms() < deadline_ms) { |
no test coverage detected