diff --git a/mongoose.c b/mongoose.c index 0870bc34..5c6ddef9 100644 --- a/mongoose.c +++ b/mongoose.c @@ -3593,7 +3593,11 @@ static void mg_iotest(struct mg_mgr *mgr, int ms) { } if ((rc = select((int) maxfd + 1, &rset, &wset, NULL, &tv)) < 0) { +#if MG_ARCH == MG_ARCH_WIN32 + if (maxfd == 0) Sleep(ms); // On Windows, select fails if no sockets +#else MG_ERROR(("select: %d %d", rc, MG_SOCK_ERRNO)); +#endif FD_ZERO(&rset); FD_ZERO(&wset); } diff --git a/src/sock.c b/src/sock.c index de2a1285..287555f2 100644 --- a/src/sock.c +++ b/src/sock.c @@ -502,7 +502,11 @@ static void mg_iotest(struct mg_mgr *mgr, int ms) { } if ((rc = select((int) maxfd + 1, &rset, &wset, NULL, &tv)) < 0) { +#if MG_ARCH == MG_ARCH_WIN32 + if (maxfd == 0) Sleep(ms); // On Windows, select fails if no sockets +#else MG_ERROR(("select: %d %d", rc, MG_SOCK_ERRNO)); +#endif FD_ZERO(&rset); FD_ZERO(&wset); }