From 3244bb931b48ebfa0ce6634549e1fdf869d218bb Mon Sep 17 00:00:00 2001 From: Samuel Williams Date: Fri, 12 Apr 2024 23:22:50 +1200 Subject: [PATCH] Check for availability of `MSG_DONTWAIT`. --- ext/socket/basicsocket.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ext/socket/basicsocket.c b/ext/socket/basicsocket.c index 1b18077d61..d9afb5b981 100644 --- a/ext/socket/basicsocket.c +++ b/ext/socket/basicsocket.c @@ -745,7 +745,12 @@ bsock_readable_p(VALUE self) RB_IO_POINTER(self, fptr); char buffer[1]; +#ifdef MSG_DONTWAIT int result = recv(fptr->fd, buffer, 1, MSG_PEEK | MSG_DONTWAIT); +#else + rb_io_set_nonblock(fptr); + int result = recv(fptr->fd, buffer, 1, MSG_PEEK); +#endif if (result > 0) { return Qtrue;