diff options
Diffstat (limited to 'bdep/utility.cxx')
-rw-r--r-- | bdep/utility.cxx | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/bdep/utility.cxx b/bdep/utility.cxx index e048a5a..15fb599 100644 --- a/bdep/utility.cxx +++ b/bdep/utility.cxx @@ -109,6 +109,23 @@ namespace bdep : "bpkg" BDEP_EXE_SUFFIX; } + void + finish_bpkg (const common_options& co, process& pr, bool io) + { + if (!pr.wait ()) + { + const process_exit& e (*pr.exit); + + if (e.normal ()) + throw failed (); // Assume the child issued diagnostics. + + fail << "process " << name_bpkg (co) << " " << e; + } + + if (io) + fail << "error reading " << name_bpkg (co) << " output"; + } + const char* name_b (const common_options& co) { |