Commit 086daf91 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

mr Hartroth correctly pointed out that poll() isn't really that portable

so we need to hack around it when not there
parent 6a3e2272
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -31,3 +31,7 @@

/* Define if you have the `setvbuf' function. */
#undef HAVE_SETVBUF

/* Define if you have the `poll' function. */
#undef HAVE_POLL
+18 −0
Original line number Diff line number Diff line
@@ -1878,8 +1878,26 @@ static int parseconfig(const char *filename,

static void go_sleep(long ms)
{
#ifdef HAVE_POLL
  /* portable subsecond "sleep" */
  poll((void *)0, 0, ms);
#else
  /* systems without poll() need other solutions */

#ifdef WIN32
  /* Windows offers a millisecond sleep */
  Sleep(ms);
#else
  /* Other systems must use select() for this */
  struct timeval timeout;

  timeout.tv_sec = 0;
  timeout.tv_usec = ms * 1000;

  select(0, NULL,  NULL, NULL, &timeout);
#endif

#endif
}

struct OutStruct {