| 603 | } |
| 604 | |
| 605 | static cbm_proc_poll_t cbm_subprocess_finish_failed(cbm_subprocess_t *process, |
| 606 | cbm_proc_result_t *out) { |
| 607 | if (!cbm_subprocess_begin_terminal_transition(process)) { |
| 608 | return CBM_PROC_POLL_ERROR; |
| 609 | } |
| 610 | process->result.tree_quiesced = false; |
| 611 | process->result.supervision_failed = true; |
| 612 | process->result.forced = true; |
| 613 | if (process->timed_out) { |
| 614 | process->result.outcome = CBM_PROC_HANG; |
| 615 | } else if (process->result.outcome == CBM_PROC_SPAWN_FAILED) { |
| 616 | process->result.outcome = CBM_PROC_KILLED; |
| 617 | } |
| 618 | process->containment_failed = true; |
| 619 | return cbm_subprocess_publish_terminal(process, out, false); |
| 620 | } |
| 621 | |
| 622 | #ifdef _WIN32 |
| 623 |
no test coverage detected