From 422c1de564cec5689de052d5eb0c2ddd7065833c Mon Sep 17 00:00:00 2001 From: Brad King Date: Fri, 21 Jun 2024 13:56:46 -0400 Subject: libuv: macos: restore use of kqueue instead of posix poll Revert commit f54ec4e7f9 (libuv: macos: use posix poll instead of kqueue, 2024-03-31, v3.29.1~7^2) and its parent. It is not necessary after the kqueue-based implementation was fixed to reap child processes more reliably. Issue: #25839 --- Utilities/cmlibuv/CMakeLists.txt | 4 ++-- Utilities/cmlibuv/include/uv/darwin.h | 9 ++------- Utilities/cmlibuv/src/unix/darwin.c | 2 -- 3 files changed, 4 insertions(+), 11 deletions(-) diff --git a/Utilities/cmlibuv/CMakeLists.txt b/Utilities/cmlibuv/CMakeLists.txt index 29dd18e..a0b161b 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/no-fsevents.c - src/unix/posix-poll.c + src/unix/fsevents.c + src/unix/kqueue.c src/unix/proctitle.c ) endif() diff --git a/Utilities/cmlibuv/include/uv/darwin.h b/Utilities/cmlibuv/include/uv/darwin.h index 7eeb194..d226415 100644 --- a/Utilities/cmlibuv/include/uv/darwin.h +++ b/Utilities/cmlibuv/include/uv/darwin.h @@ -30,11 +30,6 @@ # 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; \ @@ -58,9 +53,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 b9c8084..62f04d3 100644 --- a/Utilities/cmlibuv/src/unix/darwin.c +++ b/Utilities/cmlibuv/src/unix/darwin.c @@ -41,7 +41,6 @@ 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; @@ -55,7 +54,6 @@ 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) { -- cgit v0.12