From 6f0d50b9cb7e19ea3c906b23f2ee11e671a9cc40 Mon Sep 17 00:00:00 2001 From: Peter Johnson Date: Sun, 17 Jun 2018 14:56:06 -0700 Subject: [PATCH] libuv: Avoid conditional-true compiler warning. Instead use a preprocessor macro to comment out the code as necessary. --- wpiutil/src/main/native/libuv/unix/internal.h | 4 ++++ wpiutil/src/main/native/libuv/unix/poll.cpp | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/wpiutil/src/main/native/libuv/unix/internal.h b/wpiutil/src/main/native/libuv/unix/internal.h index e1e93cbb2f..2adc66bb3c 100644 --- a/wpiutil/src/main/native/libuv/unix/internal.h +++ b/wpiutil/src/main/native/libuv/unix/internal.h @@ -180,9 +180,11 @@ struct uv__stream_queued_fds_s { defined(__NetBSD__) #define uv__cloexec uv__cloexec_ioctl #define uv__nonblock uv__nonblock_ioctl +#define UV__NONBLOCK_IS_IOCTL #else #define uv__cloexec uv__cloexec_fcntl #define uv__nonblock uv__nonblock_fcntl +#define UV__NONBLOCK_IS_FCNTL #endif /* On Linux, uv__nonblock_fcntl() and uv__nonblock_ioctl() do not commute @@ -195,6 +197,8 @@ struct uv__stream_queued_fds_s { #if defined(__linux__) && O_NDELAY != O_NONBLOCK #undef uv__nonblock #define uv__nonblock uv__nonblock_fcntl +#undef UV__NONBLOCK_IS_IOCTL +#define UV__NONBLOCK_IS_FCNTL #endif /* core */ diff --git a/wpiutil/src/main/native/libuv/unix/poll.cpp b/wpiutil/src/main/native/libuv/unix/poll.cpp index 3d5022b22e..d578611e15 100644 --- a/wpiutil/src/main/native/libuv/unix/poll.cpp +++ b/wpiutil/src/main/native/libuv/unix/poll.cpp @@ -79,9 +79,10 @@ int uv_poll_init(uv_loop_t* loop, uv_poll_t* handle, int fd) { * Workaround for e.g. kqueue fds not supporting ioctls. */ err = uv__nonblock(fd, 1); +#ifdef UV__NONBLOCK_IS_IOCTL if (err == UV_ENOTTY) - if (uv__nonblock == uv__nonblock_ioctl) - err = uv__nonblock_fcntl(fd, 1); + err = uv__nonblock_fcntl(fd, 1); +#endif if (err) return err;