diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2022-11-08 10:34:22 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2022-11-08 11:08:03 +0200 |
commit | 3bc0fc4c4496c345c79734dcd6dc56d44119aebf (patch) | |
tree | d058018aaf35641e461e51c2c20d374fd0d1684c /libbuild2/functions-process.cxx | |
parent | 84e6c7e62c9d1613af3cad81787b3f277d276140 (diff) |
Make process exit diagnostics consistent
In particular, we now always print error message on non-0 exit except
in cases where such exit is ignored.
Diffstat (limited to 'libbuild2/functions-process.cxx')
-rw-r--r-- | libbuild2/functions-process.cxx | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/libbuild2/functions-process.cxx b/libbuild2/functions-process.cxx index 28b7a99..be10a26 100644 --- a/libbuild2/functions-process.cxx +++ b/libbuild2/functions-process.cxx @@ -174,7 +174,21 @@ namespace build2 // While assuming that the builtin has issued the diagnostics on failure // we still print the error message (see process_finish() for details). // - fail << bn << " builtin " << process_exit (rs) << endf; + diag_record dr; + dr << fail << "builtin " << bn << " " << process_exit (rs); + + // @@ TMP TODO: this and need to print command line at verbosite >= 3 + // line for the process case. + // +#if 0 + if (verb >= 1 && verb <= 2) + { + dr << info << "command line: "; + print_process (dr, args); + } +#endif + + dr << endf; } catch (const system_error& e) { @@ -328,15 +342,7 @@ namespace build2 void process_finish (const scope*, const cstrings& args, process& pr) { - try - { - if (!pr.wait ()) - fail << "process " << args[0] << " " << *pr.exit; - } - catch (const process_error& e) - { - fail << "unable to execute " << args[0] << ": " << e; - } + run_finish (args, pr, 2 /* verbosity */); } // Run a process. |