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
This commit is contained in:
Brad King
2024-06-21 13:56:46 -04:00
parent 7e3519e705
commit 422c1de564
3 changed files with 4 additions and 11 deletions

View File

@@ -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()

View File

@@ -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 */

View File

@@ -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) {