|
|
@@ -7,21 +7,17 @@ template run_process_output {
|
|
|
var(@false) succeeded;
|
|
|
value("") output;
|
|
|
|
|
|
- var(@true) do;
|
|
|
- backtrack_point() done;
|
|
|
- If (do) {
|
|
|
- do->set(@false);
|
|
|
-
|
|
|
+ Do {
|
|
|
# Start child process.
|
|
|
sys.start_process(command, "r", ["keep_stderr":"true"]) proc;
|
|
|
If (proc.is_error) {
|
|
|
- done->go();
|
|
|
+ _do->break();
|
|
|
};
|
|
|
|
|
|
# Get read pipe handle.
|
|
|
proc->read_pipe() read_pipe;
|
|
|
If (read_pipe.is_error) {
|
|
|
- done->go();
|
|
|
+ _do->break();
|
|
|
};
|
|
|
|
|
|
# Read all contents.
|
|
|
@@ -36,11 +32,10 @@ template run_process_output {
|
|
|
proc->wait() wait;
|
|
|
val_different(wait.exit_status, "0") not_ok;
|
|
|
If (not_ok) {
|
|
|
- done->go();
|
|
|
+ _do->break();
|
|
|
};
|
|
|
|
|
|
# Assume success.
|
|
|
succeeded->set(@true);
|
|
|
- done->go();
|
|
|
};
|
|
|
}
|