diff --git a/Source/cmExecuteProcessCommand.cxx b/Source/cmExecuteProcessCommand.cxx index 2c04d604ef..b24a016eb4 100644 --- a/Source/cmExecuteProcessCommand.cxx +++ b/Source/cmExecuteProcessCommand.cxx @@ -377,8 +377,7 @@ bool cmExecuteProcessCommand(std::vector const& args, outputData.Finished = true; } std::unique_ptr errorHandle; - if (chain.ErrorStream() >= 0 && - chain.ErrorStream() != chain.OutputStream()) { + if (chain.ErrorStream() >= 0) { errorData.Stream.init(chain.GetLoop(), 0); uv_pipe_open(errorData.Stream, chain.ErrorStream()); errorHandle = cmUVStreamRead( diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index f00c440c41..6390630eee 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -954,7 +954,7 @@ bool cmSystemTools::RunSingleCommand(std::vector const& command, outputHandle = startRead(outStream, chain.OutputStream(), captureStdOut, tempStdOut, 1, cmSystemTools::Stdout, outFinished); - if (chain.OutputStream() != chain.ErrorStream()) { + if (chain.ErrorStream() >= 0) { errorHandle = startRead(errStream, chain.ErrorStream(), captureStdErr, tempStdErr, 2, cmSystemTools::Stderr, errFinished); diff --git a/Source/cmUVProcessChain.cxx b/Source/cmUVProcessChain.cxx index d0e97ed253..a390c56663 100644 --- a/Source/cmUVProcessChain.cxx +++ b/Source/cmUVProcessChain.cxx @@ -261,7 +261,6 @@ bool cmUVProcessChain::InternalData::Prepare( case cmUVProcessChainBuilder::Builtin: { if (this->Builder->MergedBuiltinStreams) { - errorData.BuiltinStream = outputData.BuiltinStream; errorData.Stdio.flags = UV_INHERIT_FD; errorData.Stdio.data.fd = outputData.Stdio.data.fd; } else { diff --git a/Tests/CMakeLib/testUVProcessChain.cxx b/Tests/CMakeLib/testUVProcessChain.cxx index 8ac16b21e2..c275158d76 100644 --- a/Tests/CMakeLib/testUVProcessChain.cxx +++ b/Tests/CMakeLib/testUVProcessChain.cxx @@ -342,13 +342,8 @@ bool testUVProcessChainBuiltinMerged(char const* helperCommand) std::cout << "OutputStream() was invalid, expecting valid" << std::endl; return false; } - if (chain->ErrorStream() < 0) { - std::cout << "ErrorStream() was invalid, expecting valid" << std::endl; - return false; - } - if (chain->OutputStream() != chain->ErrorStream()) { - std::cout << "OutputStream() and ErrorStream() expected to be the same" - << std::endl; + if (chain->ErrorStream() >= 0) { + std::cout << "ErrorStream() was valid, expecting invalid" << std::endl; return false; }