summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2024-03-26 13:05:32 (GMT)
committerBrad King <brad.king@kitware.com>2024-03-26 13:05:32 (GMT)
commit8fd4110d5513d8608c66f3d3a4c060d79e2d91c3 (patch)
tree8c50b63a10713538d1b734e9e4cf2e807e421e6c
parentb5602e7254c8ce4a6f732c017d784cd80559e5aa (diff)
parente3e2ef19645d8e6b9da3309bedff7ab3d13ee605 (diff)
downloadCMake-8fd4110d5513d8608c66f3d3a4c060d79e2d91c3.zip
CMake-8fd4110d5513d8608c66f3d3a4c060d79e2d91c3.tar.gz
CMake-8fd4110d5513d8608c66f3d3a4c060d79e2d91c3.tar.bz2
Merge topic 'libuv-macos-10.5' into release-3.28
e3e2ef1964 libuv: Avoid posix_spawn on macOS < 10.8 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9371
-rw-r--r--Utilities/cmlibuv/src/unix/process.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/Utilities/cmlibuv/src/unix/process.c b/Utilities/cmlibuv/src/unix/process.c
index 39ec451..5c39da6 100644
--- a/Utilities/cmlibuv/src/unix/process.c
+++ b/Utilities/cmlibuv/src/unix/process.c
@@ -37,7 +37,11 @@
#include <sched.h>
#if defined(__APPLE__)
-# include <spawn.h>
+ /* macOS 10.8 and later have a working posix_spawn */
+# if MAC_OS_X_VERSION_MIN_REQUIRED >= 1080
+# define UV_USE_APPLE_POSIX_SPAWN
+# include <spawn.h>
+# endif
# include <paths.h>
# include <sys/kauth.h>
# include <sys/types.h>
@@ -430,7 +434,7 @@ static void uv__process_child_init(const uv_process_options_t* options,
#endif
-#if defined(__APPLE__)
+#if defined(UV_USE_APPLE_POSIX_SPAWN)
typedef struct uv__posix_spawn_fncs_tag {
struct {
int (*addchdir_np)(const posix_spawn_file_actions_t *, const char *);
@@ -882,7 +886,7 @@ static int uv__spawn_and_init_child(
int exec_errorno;
ssize_t r;
-#if defined(__APPLE__)
+#if defined(UV_USE_APPLE_POSIX_SPAWN)
uv_once(&posix_spawn_init_once, uv__spawn_init_posix_spawn);
/* Special child process spawn case for macOS Big Sur (11.0) onwards