mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-30 10:20:56 -06:00
Merge topic 'ctest-windows-std-handles'
e4d0169107 ctest: Fix spurious build failures with CTEST_USE_LAUNCHERS on Windows
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9598
This commit is contained in:
@@ -2429,33 +2429,6 @@ void cmSystemTools::EnsureStdPipes()
|
||||
}
|
||||
#endif
|
||||
|
||||
void cmSystemTools::DoNotInheritStdPipes()
|
||||
{
|
||||
#ifdef _WIN32
|
||||
// Check to see if we are attached to a console
|
||||
// if so, then do not stop the inherited pipes
|
||||
// or stdout and stderr will not show up in dos
|
||||
// shell windows
|
||||
CONSOLE_SCREEN_BUFFER_INFO hOutInfo;
|
||||
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
|
||||
if (GetConsoleScreenBufferInfo(hOut, &hOutInfo)) {
|
||||
return;
|
||||
}
|
||||
{
|
||||
HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE);
|
||||
DuplicateHandle(GetCurrentProcess(), out, GetCurrentProcess(), &out, 0,
|
||||
FALSE, DUPLICATE_SAME_ACCESS | DUPLICATE_CLOSE_SOURCE);
|
||||
SetStdHandle(STD_OUTPUT_HANDLE, out);
|
||||
}
|
||||
{
|
||||
HANDLE out = GetStdHandle(STD_ERROR_HANDLE);
|
||||
DuplicateHandle(GetCurrentProcess(), out, GetCurrentProcess(), &out, 0,
|
||||
FALSE, DUPLICATE_SAME_ACCESS | DUPLICATE_CLOSE_SOURCE);
|
||||
SetStdHandle(STD_ERROR_HANDLE, out);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
# ifndef CRYPT_SILENT
|
||||
# define CRYPT_SILENT 0x40 /* Not defined by VS 6 version of header. */
|
||||
|
||||
@@ -505,12 +505,6 @@ public:
|
||||
const std::vector<std::string>& files,
|
||||
cmTarExtractTimestamps extractTimestamps,
|
||||
bool verbose);
|
||||
// This should be called first thing in main
|
||||
// it will keep child processes from inheriting the
|
||||
// stdin and stdout of this process. This is important
|
||||
// if you want to be able to kill child processes and
|
||||
// not get stuck waiting for all the output on the pipes.
|
||||
static void DoNotInheritStdPipes();
|
||||
|
||||
static void EnsureStdPipes();
|
||||
|
||||
|
||||
@@ -177,7 +177,6 @@ int main(int argc, char const* const* argv)
|
||||
argc = encoding_args.argc();
|
||||
argv = encoding_args.argv();
|
||||
|
||||
cmSystemTools::DoNotInheritStdPipes();
|
||||
cmSystemTools::InitializeLibUV();
|
||||
cmSystemTools::FindCMakeResources(argv[0]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user