aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/cc/link-rule.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2020-01-27 08:37:56 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2020-01-27 08:39:31 +0200
commit1abc10223b37d9ead3454a06e176b4b65370a2be (patch)
tree2d30c9130bb7acf2968078ed408e1d36b70c22b0 /libbuild2/cc/link-rule.cxx
parentba637925b32e85c22c9dc81820e407ebdacfe5f7 (diff)
Improve process run_*() API
Diffstat (limited to 'libbuild2/cc/link-rule.cxx')
-rw-r--r--libbuild2/cc/link-rule.cxx5
1 files changed, 4 insertions, 1 deletions
diff --git a/libbuild2/cc/link-rule.cxx b/libbuild2/cc/link-rule.cxx
index ccb8dc6..6969ef2 100644
--- a/libbuild2/cc/link-rule.cxx
+++ b/libbuild2/cc/link-rule.cxx
@@ -2127,9 +2127,12 @@ namespace build2
}
catch (const io_error& e)
{
- if (pr.wait ()) // Ignore if child failed.
+ if (run_wait (args, pr))
fail << "unable to pipe resource file to " << args[0]
<< ": " << e;
+
+ // If the child process has failed then assume the io error
+ // was caused by that and let run_finish() deal with it.
}
run_finish (args, pr);