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