select workaround added by rivo on Sun May 12 01:46:43 2013

C_inline int C_ready_fds_timeout(int to, double tm) {
  double time_limit = milliseconds() + tm;
  do {
    for (i=0; i<fdset_size; ++i)
      if (WaitForSignleObject(fdset[i]))
        return fdset[i];
  } while (milliseconds() < time_limit);