summaryrefslogtreecommitdiffstats
path: root/Source/cmake.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2024-05-22 18:00:04 (GMT)
committerBrad King <brad.king@kitware.com>2024-05-22 18:58:06 (GMT)
commita5903828501ce21c81d49d49f80704b714a8bffc (patch)
tree5abbed4b163d6061200f86385151744ba60b7012 /Source/cmake.h
parent32a8d5a4acee9d116031d7e54a90000940f03a50 (diff)
downloadCMake-a5903828501ce21c81d49d49f80704b714a8bffc.zip
CMake-a5903828501ce21c81d49d49f80704b714a8bffc.tar.gz
CMake-a5903828501ce21c81d49d49f80704b714a8bffc.tar.bz2
libuv: win/spawn: disable extra-file-descriptor support not needed by CMake
Upstream libuv supports passing file descriptors >= 3 to child processes via `STARTUPINFOW` members reserved by the MSVC C run-time. However, some programs use `GetStartupInfoW` to initialize a `STARTUPINFOW` structure to pass to `CreateProcessW` without clearing the reserved members. If we launch such programs with non-zero values in the reserved members, the MSVC C run-time in *their* children may not correctly associate the stdin/stdout/stderr streams' file descriptors with the corresponding `HANDLE`s. Patch our copy of libuv to avoid using the reserved members. This restores `execute_process` support for the above-described programs as we had prior to commit 5420639a8d (cmExecuteProcessCommand: Replace cmsysProcess with cmUVProcessChain, 2023-06-01, v3.28.0-rc1~138^2~8). It also enables support for such programs when launched by `ctest`. Fixes: #25996 Fixes: #25889
Diffstat (limited to 'Source/cmake.h')
0 files changed, 0 insertions, 0 deletions