diff options
author | Brad King <brad.king@kitware.com> | 2024-06-21 17:56:46 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2024-06-21 20:45:55 (GMT) |
commit | 422c1de564cec5689de052d5eb0c2ddd7065833c (patch) | |
tree | 2d8d823e38362e4a43f062d56949c35310a92dba | |
parent | 7e3519e705b7df884eecd81d097f640fd61f52a4 (diff) | |
download | CMake-422c1de564cec5689de052d5eb0c2ddd7065833c.zip CMake-422c1de564cec5689de052d5eb0c2ddd7065833c.tar.gz CMake-422c1de564cec5689de052d5eb0c2ddd7065833c.tar.bz2 |
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
-rw-r--r-- | Utilities/cmlibuv/CMakeLists.txt | 4 | ||||
-rw-r--r-- | Utilities/cmlibuv/include/uv/darwin.h | 9 | ||||
-rw-r--r-- | 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) { |