| 815 | } |
| 816 | |
| 817 | static void cbm_win_capture_root(cbm_subprocess_t *process, DWORD code) { |
| 818 | process->root_reaped = true; |
| 819 | process->result.exit_code = (int)code; |
| 820 | process->result.term_signal = 0; |
| 821 | if (process->timed_out) { |
| 822 | process->result.outcome = CBM_PROC_HANG; |
| 823 | } else if (process->root_forced || |
| 824 | (cbm_subprocess_cancellation_requested(process) && code == CBM_WIN_CONTROL_C_EXIT)) { |
| 825 | process->result.outcome = CBM_PROC_KILLED; |
| 826 | } else { |
| 827 | process->result.outcome = cbm_proc_classify(true, (int)code, 0, false); |
| 828 | } |
| 829 | } |
| 830 | |
| 831 | static cbm_proc_poll_t cbm_subprocess_poll_win(cbm_subprocess_t *process, cbm_proc_result_t *out) { |
| 832 | uint64_t now = cbm_now_ms(); |
no test coverage detected