diff --git a/docs/examples/fopen.c b/docs/examples/fopen.c index c26c0de04..3d2a81773 100644 --- a/docs/examples/fopen.c +++ b/docs/examples/fopen.c @@ -168,20 +168,24 @@ static int fill_buffer(URL_FILE *file, size_t want) } /* On success the value of maxfd is guaranteed to be >= -1. We call - select(maxfd + 1, ...); specially in case of (maxfd == -1) we call - select(0, ...), which is basically equal to sleeping the timeout. On - Windows we can't sleep via select without a dummy socket and instead - we Sleep() for 100ms which is the minimum suggested value in the + select(maxfd + 1, ...); specially in case of (maxfd == -1) there are + no fds ready yet so we call select(0, ...) --or Sleep() on Windows-- + to sleep 100ms, which is the minimum suggested value in the curl_multi_fdset() doc. */ -#ifdef _WIN32 if(maxfd == -1) { +#ifdef _WIN32 Sleep(100); rc = 0; - } - else +#else + /* Portable sleep for platforms other than Windows. */ + struct timeval wait = { 0, 100 * 1000 }; /* 100ms */ + rc = select(0, NULL, NULL, NULL, &wait); #endif - { + } + else { + /* Note that on some platforms 'timeout' may be modified by select(). + If you need access to the original value save a copy beforehand. */ rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); } diff --git a/docs/examples/imap-multi.c b/docs/examples/imap-multi.c index c8c67ff87..c7dc13071 100644 --- a/docs/examples/imap-multi.c +++ b/docs/examples/imap-multi.c @@ -120,20 +120,24 @@ int main(void) } /* On success the value of maxfd is guaranteed to be >= -1. We call - select(maxfd + 1, ...); specially in case of (maxfd == -1) we call - select(0, ...), which is basically equal to sleeping the timeout. On - Windows we can't sleep via select without a dummy socket and instead - we Sleep() for 100ms which is the minimum suggested value in the + select(maxfd + 1, ...); specially in case of (maxfd == -1) there are + no fds ready yet so we call select(0, ...) --or Sleep() on Windows-- + to sleep 100ms, which is the minimum suggested value in the curl_multi_fdset() doc. */ -#ifdef _WIN32 if(maxfd == -1) { +#ifdef _WIN32 Sleep(100); rc = 0; - } - else +#else + /* Portable sleep for platforms other than Windows. */ + struct timeval wait = { 0, 100 * 1000 }; /* 100ms */ + rc = select(0, NULL, NULL, NULL, &wait); #endif - { + } + else { + /* Note that on some platforms 'timeout' may be modified by select(). + If you need access to the original value save a copy beforehand. */ rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); } diff --git a/docs/examples/multi-app.c b/docs/examples/multi-app.c index bf0f11ad5..b8258975e 100644 --- a/docs/examples/multi-app.c +++ b/docs/examples/multi-app.c @@ -109,20 +109,24 @@ int main(void) } /* On success the value of maxfd is guaranteed to be >= -1. We call - select(maxfd + 1, ...); specially in case of (maxfd == -1) we call - select(0, ...), which is basically equal to sleeping the timeout. On - Windows we can't sleep via select without a dummy socket and instead - we Sleep() for 100ms which is the minimum suggested value in the + select(maxfd + 1, ...); specially in case of (maxfd == -1) there are + no fds ready yet so we call select(0, ...) --or Sleep() on Windows-- + to sleep 100ms, which is the minimum suggested value in the curl_multi_fdset() doc. */ -#ifdef _WIN32 if(maxfd == -1) { +#ifdef _WIN32 Sleep(100); rc = 0; - } - else +#else + /* Portable sleep for platforms other than Windows. */ + struct timeval wait = { 0, 100 * 1000 }; /* 100ms */ + rc = select(0, NULL, NULL, NULL, &wait); #endif - { + } + else { + /* Note that on some platforms 'timeout' may be modified by select(). + If you need access to the original value save a copy beforehand. */ rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); } diff --git a/docs/examples/multi-debugcallback.c b/docs/examples/multi-debugcallback.c index 31dec5472..5fb86bea1 100644 --- a/docs/examples/multi-debugcallback.c +++ b/docs/examples/multi-debugcallback.c @@ -183,20 +183,24 @@ int main(void) } /* On success the value of maxfd is guaranteed to be >= -1. We call - select(maxfd + 1, ...); specially in case of (maxfd == -1) we call - select(0, ...), which is basically equal to sleeping the timeout. On - Windows we can't sleep via select without a dummy socket and instead - we Sleep() for 100ms which is the minimum suggested value in the + select(maxfd + 1, ...); specially in case of (maxfd == -1) there are + no fds ready yet so we call select(0, ...) --or Sleep() on Windows-- + to sleep 100ms, which is the minimum suggested value in the curl_multi_fdset() doc. */ -#ifdef _WIN32 if(maxfd == -1) { +#ifdef _WIN32 Sleep(100); rc = 0; - } - else +#else + /* Portable sleep for platforms other than Windows. */ + struct timeval wait = { 0, 100 * 1000 }; /* 100ms */ + rc = select(0, NULL, NULL, NULL, &wait); #endif - { + } + else { + /* Note that on some platforms 'timeout' may be modified by select(). + If you need access to the original value save a copy beforehand. */ rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); } diff --git a/docs/examples/multi-double.c b/docs/examples/multi-double.c index df0922a1c..0d8d0de4f 100644 --- a/docs/examples/multi-double.c +++ b/docs/examples/multi-double.c @@ -98,20 +98,24 @@ int main(void) } /* On success the value of maxfd is guaranteed to be >= -1. We call - select(maxfd + 1, ...); specially in case of (maxfd == -1) we call - select(0, ...), which is basically equal to sleeping the timeout. On - Windows we can't sleep via select without a dummy socket and instead - we Sleep() for 100ms which is the minimum suggested value in the + select(maxfd + 1, ...); specially in case of (maxfd == -1) there are + no fds ready yet so we call select(0, ...) --or Sleep() on Windows-- + to sleep 100ms, which is the minimum suggested value in the curl_multi_fdset() doc. */ -#ifdef _WIN32 if(maxfd == -1) { +#ifdef _WIN32 Sleep(100); rc = 0; - } - else +#else + /* Portable sleep for platforms other than Windows. */ + struct timeval wait = { 0, 100 * 1000 }; /* 100ms */ + rc = select(0, NULL, NULL, NULL, &wait); #endif - { + } + else { + /* Note that on some platforms 'timeout' may be modified by select(). + If you need access to the original value save a copy beforehand. */ rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); } diff --git a/docs/examples/multi-post.c b/docs/examples/multi-post.c index a6cc8683c..f511d66fd 100644 --- a/docs/examples/multi-post.c +++ b/docs/examples/multi-post.c @@ -119,20 +119,24 @@ int main(void) } /* On success the value of maxfd is guaranteed to be >= -1. We call - select(maxfd + 1, ...); specially in case of (maxfd == -1) we call - select(0, ...), which is basically equal to sleeping the timeout. On - Windows we can't sleep via select without a dummy socket and instead - we Sleep() for 100ms which is the minimum suggested value in the + select(maxfd + 1, ...); specially in case of (maxfd == -1) there are + no fds ready yet so we call select(0, ...) --or Sleep() on Windows-- + to sleep 100ms, which is the minimum suggested value in the curl_multi_fdset() doc. */ -#ifdef _WIN32 if(maxfd == -1) { +#ifdef _WIN32 Sleep(100); rc = 0; - } - else +#else + /* Portable sleep for platforms other than Windows. */ + struct timeval wait = { 0, 100 * 1000 }; /* 100ms */ + rc = select(0, NULL, NULL, NULL, &wait); #endif - { + } + else { + /* Note that on some platforms 'timeout' may be modified by select(). + If you need access to the original value save a copy beforehand. */ rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); } diff --git a/docs/examples/multi-single.c b/docs/examples/multi-single.c index 3d80c655f..1c62f1b26 100644 --- a/docs/examples/multi-single.c +++ b/docs/examples/multi-single.c @@ -96,20 +96,24 @@ int main(void) } /* On success the value of maxfd is guaranteed to be >= -1. We call - select(maxfd + 1, ...); specially in case of (maxfd == -1) we call - select(0, ...), which is basically equal to sleeping the timeout. On - Windows we can't sleep via select without a dummy socket and instead - we Sleep() for 100ms which is the minimum suggested value in the + select(maxfd + 1, ...); specially in case of (maxfd == -1) there are + no fds ready yet so we call select(0, ...) --or Sleep() on Windows-- + to sleep 100ms, which is the minimum suggested value in the curl_multi_fdset() doc. */ -#ifdef _WIN32 if(maxfd == -1) { +#ifdef _WIN32 Sleep(100); rc = 0; - } - else +#else + /* Portable sleep for platforms other than Windows. */ + struct timeval wait = { 0, 100 * 1000 }; /* 100ms */ + rc = select(0, NULL, NULL, NULL, &wait); #endif - { + } + else { + /* Note that on some platforms 'timeout' may be modified by select(). + If you need access to the original value save a copy beforehand. */ rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); } diff --git a/docs/examples/pop3-multi.c b/docs/examples/pop3-multi.c index 42142f954..435308623 100644 --- a/docs/examples/pop3-multi.c +++ b/docs/examples/pop3-multi.c @@ -120,20 +120,24 @@ int main(void) } /* On success the value of maxfd is guaranteed to be >= -1. We call - select(maxfd + 1, ...); specially in case of (maxfd == -1) we call - select(0, ...), which is basically equal to sleeping the timeout. On - Windows we can't sleep via select without a dummy socket and instead - we Sleep() for 100ms which is the minimum suggested value in the + select(maxfd + 1, ...); specially in case of (maxfd == -1) there are + no fds ready yet so we call select(0, ...) --or Sleep() on Windows-- + to sleep 100ms, which is the minimum suggested value in the curl_multi_fdset() doc. */ -#ifdef _WIN32 if(maxfd == -1) { +#ifdef _WIN32 Sleep(100); rc = 0; - } - else +#else + /* Portable sleep for platforms other than Windows. */ + struct timeval wait = { 0, 100 * 1000 }; /* 100ms */ + rc = select(0, NULL, NULL, NULL, &wait); #endif - { + } + else { + /* Note that on some platforms 'timeout' may be modified by select(). + If you need access to the original value save a copy beforehand. */ rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); } diff --git a/docs/examples/smtp-multi.c b/docs/examples/smtp-multi.c index 998f69e3f..4098c7d18 100644 --- a/docs/examples/smtp-multi.c +++ b/docs/examples/smtp-multi.c @@ -187,20 +187,24 @@ int main(void) } /* On success the value of maxfd is guaranteed to be >= -1. We call - select(maxfd + 1, ...); specially in case of (maxfd == -1) we call - select(0, ...), which is basically equal to sleeping the timeout. On - Windows we can't sleep via select without a dummy socket and instead - we Sleep() for 100ms which is the minimum suggested value in the + select(maxfd + 1, ...); specially in case of (maxfd == -1) there are + no fds ready yet so we call select(0, ...) --or Sleep() on Windows-- + to sleep 100ms, which is the minimum suggested value in the curl_multi_fdset() doc. */ -#ifdef _WIN32 if(maxfd == -1) { +#ifdef _WIN32 Sleep(100); rc = 0; - } - else +#else + /* Portable sleep for platforms other than Windows. */ + struct timeval wait = { 0, 100 * 1000 }; /* 100ms */ + rc = select(0, NULL, NULL, NULL, &wait); #endif - { + } + else { + /* Note that on some platforms 'timeout' may be modified by select(). + If you need access to the original value save a copy beforehand. */ rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); }