Don't complain if do_builtin_io fails due to EPIPE

If stdio is dead due to EPIPE, there's no great reason to spew a stack dump.

This will still write an error to stderr if stdout dies.  This might be
undesirable, but changing that should be considered separately.
This commit is contained in:
Andy Lutomirski
2015-09-15 18:24:11 -07:00
committed by ridiculousfish
parent 0212314479
commit f17a71de74
2 changed files with 3 additions and 2 deletions

View File

@@ -1181,7 +1181,7 @@ void exec_job(parser_t &parser, job_t *j)
const std::string outbuff = wcs2string(stdout_buffer);
const std::string errbuff = wcs2string(stderr_buffer);
bool builtin_io_done = do_builtin_io(outbuff.data(), outbuff.size(), errbuff.data(), errbuff.size());
if (! builtin_io_done)
if (! builtin_io_done && errno != EPIPE)
{
show_stackframe();
}