| 546 | } |
| 547 | |
| 548 | static void cbm_subprocess_delete_log(cbm_subprocess_t *process) { |
| 549 | if (!process->log_file || !process->delete_log_on_exit) { |
| 550 | return; |
| 551 | } |
| 552 | #ifdef _WIN32 |
| 553 | wchar_t *path = cbm_path_to_wide(process->log_file); |
| 554 | if (path) { |
| 555 | (void)DeleteFileW(path); |
| 556 | free(path); |
| 557 | } |
| 558 | #else |
| 559 | (void)unlink(process->log_file); |
| 560 | #endif |
| 561 | } |
| 562 | |
| 563 | static bool cbm_subprocess_begin_terminal_transition(cbm_subprocess_t *process) { |
| 564 | int lifecycle = atomic_load_explicit(&process->lifecycle, memory_order_acquire); |
no test coverage detected