diff --git a/core/os/os2/process.odin b/core/os/os2/process.odin index 65412171f..6269ce94d 100644 --- a/core/os/os2/process.odin +++ b/core/os/os2/process.odin @@ -348,6 +348,8 @@ process_start :: proc(desc: Process_Desc) -> (Process, Error) { return _process_start(desc) } +import "core:log" + /* Execute the process and capture stdout and stderr streams. @@ -383,6 +385,8 @@ process_exec :: proc( stderr_r, stderr_w := pipe() or_return defer close(stderr_r) + log.info("starting process") + process: Process { // NOTE(flysand): Make sure the write-ends are closed, regardless @@ -395,6 +399,8 @@ process_exec :: proc( process = process_start(desc) or_return } + log.info("reading output") + { defer if err != nil { _ = process_kill(process) } @@ -423,6 +429,7 @@ process_exec :: proc( case .EOF, .Broken_Pipe: stdout_done = true case: + log.infof("read stdout error: %v", err) return } } @@ -438,13 +445,16 @@ process_exec :: proc( case .EOF, .Broken_Pipe: stderr_done = true case: + log.infof("read stderr error: %v", err) return } } } } + log.info("waiting for exit") state, err = process_wait(process) + log.info(state, err) if !state.exited { _ = process_kill(process) } return }