From fd5e3654c45d75a638bf7ce8bad3762e1ae9160c Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Fri, 28 Oct 2022 17:10:00 +0900 Subject: [PATCH] use WSAGetLastError() for errno on Windows --- mrbgems/mruby-io/src/io.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mrbgems/mruby-io/src/io.c b/mrbgems/mruby-io/src/io.c index 765dc9051..d760a76d5 100644 --- a/mrbgems/mruby-io/src/io.c +++ b/mrbgems/mruby-io/src/io.c @@ -1258,8 +1258,13 @@ mrb_io_s_select(mrb_state *mrb, mrb_value klass) retry: n = select(max, rp, wp, ep, tp); if (n < 0) { +#ifdef _WIN32 + if (WSAGetLastError() != WSAEINTR) + mrb_sys_fail(mrb, "select failed"); +#else if (errno != EINTR) mrb_sys_fail(mrb, "select failed"); +#endif if (tp == NULL) goto retry; interrupt_flag = 1;