Files
CMake/Source
Brad King e4d0169107 ctest: Fix spurious build failures with CTEST_USE_LAUNCHERS on Windows
Remove the stdio handle inheritance suppression originally added by
commit f262298bb0 (... do not inherit pipes in child procs for ctest so
it can kill them, 2007-09-11, v2.6.0~1136).  It's not clear what problem
it was trying to solve, was only done in `ctest` and not `cmake`, and
since commit 9c3ffe2474 (BUG: fix problem with stdout and stderr not
showing up in ms dos shells, 2007-09-25, v2.6.0~1066) has not been done
in `ctest` launched under interactive consoles.

Furthermore, the code has been spuriously breaking stdio when `ctest` is
started with both stdout and stderr connected to the same pipe, such as
when `ctest --launch` is used under `ninja`.  This is because it used
`DuplicateHandle` with `DUPLICATE_CLOSE_SOURCE` on the stdout handle and
then the stderr handle.  If the handles are the same, then the stderr
handle becomes invalid in between these operations, leading to
likely-undefined behavior.  Since commit 96b3dd329e
(cmCTestLaunchReporter: Replace cmsysProcess with cmUVProcessChain,
2023-07-26, v3.28.0-rc1~138^2~2) this became more noticeable because
`uv_spawn` performs additional verification on stdio handles.

This could be fixed by instead suppressing inheritance via

    SetHandleInformation(h, HANDLE_FLAG_INHERIT, 0);

However, the functionality no longer seems necessary, so remove it.
2024-06-14 07:32:29 -04:00
..
2023-11-17 09:58:21 -05:00
2023-08-07 11:26:05 -04:00
2023-08-07 11:26:05 -04:00
2023-07-28 09:14:08 -04:00
2023-05-30 09:46:12 -04:00
2024-06-03 13:35:26 -04:00
2023-05-30 09:46:12 -04:00
2023-11-17 09:58:21 -05:00
2023-05-22 16:51:15 -04:00
2023-05-30 09:46:12 -04:00
2023-05-30 09:46:12 -04:00
2023-05-30 09:46:12 -04:00
2023-05-30 09:46:12 -04:00
2023-05-30 09:46:12 -04:00
2023-05-30 09:46:12 -04:00
2023-05-30 09:46:12 -04:00
2023-10-01 06:52:44 -04:00
2023-05-30 09:46:12 -04:00
2023-08-29 15:57:24 -04:00
2023-07-28 09:14:08 -04:00