mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-03 05:08:14 +00:00
@@ -348,8 +348,6 @@ process_start :: proc(desc: Process_Desc) -> (Process, Error) {
|
|||||||
return _process_start(desc)
|
return _process_start(desc)
|
||||||
}
|
}
|
||||||
|
|
||||||
import "core:log"
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Execute the process and capture stdout and stderr streams.
|
Execute the process and capture stdout and stderr streams.
|
||||||
|
|
||||||
@@ -385,8 +383,6 @@ process_exec :: proc(
|
|||||||
stderr_r, stderr_w := pipe() or_return
|
stderr_r, stderr_w := pipe() or_return
|
||||||
defer close(stderr_r)
|
defer close(stderr_r)
|
||||||
|
|
||||||
log.info("starting process")
|
|
||||||
|
|
||||||
process: Process
|
process: Process
|
||||||
{
|
{
|
||||||
// NOTE(flysand): Make sure the write-ends are closed, regardless
|
// NOTE(flysand): Make sure the write-ends are closed, regardless
|
||||||
@@ -399,8 +395,6 @@ process_exec :: proc(
|
|||||||
process = process_start(desc) or_return
|
process = process_start(desc) or_return
|
||||||
}
|
}
|
||||||
|
|
||||||
log.info("reading output")
|
|
||||||
|
|
||||||
{
|
{
|
||||||
defer if err != nil { _ = process_kill(process) }
|
defer if err != nil { _ = process_kill(process) }
|
||||||
|
|
||||||
@@ -429,7 +423,6 @@ process_exec :: proc(
|
|||||||
case .EOF, .Broken_Pipe:
|
case .EOF, .Broken_Pipe:
|
||||||
stdout_done = true
|
stdout_done = true
|
||||||
case:
|
case:
|
||||||
log.infof("read stdout error: %v", err)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -445,16 +438,13 @@ process_exec :: proc(
|
|||||||
case .EOF, .Broken_Pipe:
|
case .EOF, .Broken_Pipe:
|
||||||
stderr_done = true
|
stderr_done = true
|
||||||
case:
|
case:
|
||||||
log.infof("read stderr error: %v", err)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
log.info("waiting for exit")
|
|
||||||
state, err = process_wait(process)
|
state, err = process_wait(process)
|
||||||
log.info(state, err)
|
|
||||||
if !state.exited { _ = process_kill(process) }
|
if !state.exited { _ = process_kill(process) }
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user