X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=docs%2Fexamples%2Fimap-multi.c;h=601205a087931914af8a10160cf72f2db0f2b5a4;hb=867eb33477c07331e7b58302119308d02a02ee01;hp=c7dc13071338f99e7546763f3ffc90c573ef9197;hpb=32de14ae0782822e9c54c3fbb28cdefc1f4de969;p=platform%2Fupstream%2Fcurl.git diff --git a/docs/examples/imap-multi.c b/docs/examples/imap-multi.c index c7dc130..601205a 100644 --- a/docs/examples/imap-multi.c +++ b/docs/examples/imap-multi.c @@ -88,7 +88,6 @@ int main(void) fd_set fdexcep; int maxfd = -1; int rc; - CURLMcode mc; /* curl_multi_fdset() return code */ long curl_timeo = -1; @@ -110,36 +109,15 @@ int main(void) timeout.tv_usec = (curl_timeo % 1000) * 1000; } - /* get file descriptors from the transfers */ - mc = curl_multi_fdset(mcurl, &fdread, &fdwrite, &fdexcep, &maxfd); + /* Get file descriptors from the transfers */ + curl_multi_fdset(mcurl, &fdread, &fdwrite, &fdexcep, &maxfd); - if(mc != CURLM_OK) - { - fprintf(stderr, "curl_multi_fdset() failed, code %d.\n", mc); - break; - } - - /* On success the value of maxfd is guaranteed to be >= -1. We call - 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. */ - - if(maxfd == -1) { -#ifdef _WIN32 - Sleep(100); - rc = 0; -#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); - } + /* In a real-world program you OF COURSE check the return code of the + function calls. On success, the value of maxfd is guaranteed to be + greater or equal than -1. We call select(maxfd + 1, ...), specially in + case of (maxfd == -1), we call select(0, ...), which is basically equal + to sleep. */ + rc = select(maxfd + 1, &fdread, &fdwrite, &fdexcep, &timeout); if(tvdiff(tvnow(), mp_start) > MULTI_PERFORM_HANG_TIMEOUT) { fprintf(stderr,