summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Utilities/cmlibuv/CMakeLists.txt4
-rw-r--r--Utilities/cmlibuv/include/uv/darwin.h9
-rw-r--r--Utilities/cmlibuv/src/unix/darwin.c2
-rw-r--r--Utilities/cmlibuv/src/unix/process.c6
4 files changed, 12 insertions, 9 deletions
diff --git a/Utilities/cmlibuv/CMakeLists.txt b/Utilities/cmlibuv/CMakeLists.txt
index a0b161b..29dd18e 100644
--- a/Utilities/cmlibuv/CMakeLists.txt
+++ b/Utilities/cmlibuv/CMakeLists.txt
@@ -191,8 +191,8 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
src/unix/bsd-ifaddrs.c
src/unix/darwin.c
src/unix/darwin-proctitle.c
- src/unix/fsevents.c
- src/unix/kqueue.c
+ src/unix/no-fsevents.c
+ src/unix/posix-poll.c
src/unix/proctitle.c
)
endif()
diff --git a/Utilities/cmlibuv/include/uv/darwin.h b/Utilities/cmlibuv/include/uv/darwin.h
index d226415..7eeb194 100644
--- a/Utilities/cmlibuv/include/uv/darwin.h
+++ b/Utilities/cmlibuv/include/uv/darwin.h
@@ -30,6 +30,11 @@
# define UV_PLATFORM_SEM_T semaphore_t
#endif
+#if 1 /* FIXME(#25839): use posix poll to avoid kqueue hangs on macOS. */
+# include "posix.h"
+#else
+#define UV_HAVE_KQUEUE 1
+
#define UV_IO_PRIVATE_PLATFORM_FIELDS \
int rcount; \
int wcount; \
@@ -53,9 +58,9 @@
int cf_error; \
uv_mutex_t cf_mutex; \
+#endif
+
#define UV_STREAM_PRIVATE_PLATFORM_FIELDS \
void* select; \
-#define UV_HAVE_KQUEUE 1
-
#endif /* UV_DARWIN_H */
diff --git a/Utilities/cmlibuv/src/unix/darwin.c b/Utilities/cmlibuv/src/unix/darwin.c
index 62f04d3..b9c8084 100644
--- a/Utilities/cmlibuv/src/unix/darwin.c
+++ b/Utilities/cmlibuv/src/unix/darwin.c
@@ -41,6 +41,7 @@ static mach_timebase_info_data_t timebase;
typedef unsigned char UInt8;
+#ifdef UV_HAVE_KQUEUE
int uv__platform_loop_init(uv_loop_t* loop) {
loop->cf_state = NULL;
@@ -54,6 +55,7 @@ int uv__platform_loop_init(uv_loop_t* loop) {
void uv__platform_loop_delete(uv_loop_t* loop) {
uv__fsevents_loop_delete(loop);
}
+#endif
static void uv__hrtime_init_once(void) {
diff --git a/Utilities/cmlibuv/src/unix/process.c b/Utilities/cmlibuv/src/unix/process.c
index 5c39da6..3427847 100644
--- a/Utilities/cmlibuv/src/unix/process.c
+++ b/Utilities/cmlibuv/src/unix/process.c
@@ -81,11 +81,7 @@ extern char **environ;
#ifdef CMAKE_BOOTSTRAP
#define UV_USE_SIGCHLD
-#elif defined(__APPLE__) || \
- defined(__DragonFly__) || \
- defined(__FreeBSD__) || \
- defined(__NetBSD__) || \
- defined(__OpenBSD__)
+#elif defined(UV_HAVE_KQUEUE)
#include <sys/event.h>
#else
#define UV_USE_SIGCHLD